機器學習4 資料和特徵

2021-10-09 09:12:52 字數 2944 閱讀 9675

mysql:

mongodb:

大部分時候存在csv中。

numpy釋放了gil(全域性直譯器鎖):真正的多執行緒。計算能力強就是因為numpy的這個多執行緒工程。詳解:

文字特徵抽取

from sklearn.feature_extraction import dictvectorizer

from sklearn.feature_extraction.text import countvectorizer

import jieba

cv = countvectorizer(

)data = cv.fit_transform(

['setence 1'

,'sentence 2'

,'sentence n'

]print

(cv.get_feature_names(

))

def

cutword()

: content1 = jieba.cut(

'中文句子1'

) content2 = jieba.cut(

'中文句子2'

) content3 = jieba.cut(

'中文句子3'

)#轉換成列表

c1,c2,c3 =

' '.joinlist(content1)

,' '

.join(

list

(content2)),

' '.join(

list

(content3)

)#把列表轉換成字串

return c1,c2,c3

defhanzivec()

: c1,c2,c3 = cutword(

) cv = countvectorizer(

) data = cv.fit_transform(

[c1,c2,c3]

)print

(cv.get_feature_names())

print

(data.toarray())

return

none

tf-idf:

tf: term frequency 詞頻,詞出現的次數

idf: inverse document frequency 逆文件頻率,log(總文件數量/該詞出現的文件數量)

tf*idf的主要思想:如果某個詞或短語在一篇文章**現的概率高,並且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來分類。作用是用以評估乙個詞對於乙個檔案的重要程度。e.g.

sklearn.feature_extraction.text.tfidfvectorizer

tf = tfidfvectorizer(stop_words=

none,.

...)

tf.fit_transform(x)

#返回sparse矩陣

tf.inverse_transform(x)

#返回轉換前資料

tf.get_feature_names(

)

歸一化:把不同特徵的數量級壓到一樣,容易受異常值影響,魯棒性較差,只適合傳統精確小資料場景。

x ′=

x−mi

nmax

−min

x′′=

x′∗(

max−

min)

+min

x' = \frac x'' = x'*(max-min)+min

x′=max

−min

x−mi

n​x′

′=x′

∗(ma

x−mi

n)+m

in

mm = minmaxscalar(

)mm.fit_transform(x)

標準化:由於一定的資料量,少量的異常點對於均值的影響並不大,從而方差改變較小,加速收斂。

x ′=

x−μσ

x' = \frac

x′=σx−

μ​

sl = standardscaler(

)sl.fit_transform(x)

sl.mead_

sl.std_

在已有樣本足夠多的情況下比較穩定, 適合現代嘈雜大資料環境。

缺失值:

imputer(missing_values=

'nan'

,startegy=

'mean'

,axis=0)

imputer.fit_transform(x)

類別型:one-hot encoding

時間型別:時間的切分

特徵選擇:

varience threshold刪除低方差的特徵

var = sklearn.feature_selection.variancethreshold

var.fit_transform(x)

主成分分析,降低資料維度並減少資料損失

sklearn.decomposition.pca

pca = pca(n_components=

0.9)

#保留百分之90的偏差

pca.fit_transform(x)

演算法是核心,資料和計算是基礎。大部分複雜模型的演算法設計由演算法工程師完成,我們一般需要做的是:

離散與連續:

開發流程:

特徵處理相關方法

數值型處理方法:

型別特徵處理:

時間型特徵:

可以看作連續值或者離散值。

離散值:

統計資料:

機器學習 資料清洗和特徵選擇

第二部分 特徵提取 1.概念 莊家 坐莊的人,負責收發金錢 賠率 表示發生的話可以獲得本金的倍數,例如小明下注10兩,事件a賠率為3,則發生事件a後,小明可獲得30兩,淨賺20兩 事件發生概率與賠率的關係 p y 1,p為概率,y為賠率 盈利率 下注金額 賠付期望 下注金額 2.賠率分析 假定事件有...

機器學習4 特徵向量與特徵值

a為n階矩陣,若數 和n維非0列向量x滿足ax x,那麼數 稱為a的特徵值,x稱為a的對應於特徵值 的特徵向量。式ax x也可寫成 a e x 0,並且 e a 叫做a 的特徵多項式。當特徵多項式等於0的時候,稱為a的特徵方程,特徵方程是乙個齊次線性方程組,求解特徵值的過程其實就是求解特徵方程的解。...

機器學習之資料清洗和特徵選擇

賠率 公平賠率 莊家期望收益為零,沒有利潤 實際賠率 莊家在公平賠率基礎上乘以某小於1的係數,得到真實賠率,其中係數 pandas 用於資料讀取,優勢比numpy強等 庫 fuzzywuzzy 用於資料清洗 pca理論依據 pca降維思想 尋找樣本的主方向u,將m個樣本值投影到某直線l上,得到m個位...