方式:1.特徵選擇 2.主成分分析
1.特徵選擇
(1)原因:
冗餘:部分特徵的相關度高,容易消耗計算效能
雜訊:部分特徵對**結果有負影響
(2)定義:
特徵選擇就是單純地從提取到的所有特徵中選擇部分特徵作為訓練集特徵,特徵在選擇前和選擇後可以改變值、也不改變值,但是選擇後的特徵維數肯定比選擇前小,畢竟我們只選擇了其中的一部分特徵。
(3)主要方法(三大**):
1,filter(過濾式):variancethreshold
######api:sklearn.feature_selection.variancethreshold
####variancethreshold(threshold = 0.0)
刪除所有低方差特徵
variance.fit_transform(x,y)
x:numpy array格式的資料[n_samples,n_features]
返回值:訓練集差異低於threshold的特徵將被刪除。預設值是保留所有非零方差特徵,即刪除所有樣本中具有相同值的特徵。
from sklearn.feature_selection import variancethreshold
def var(
): ''
'刪除低方差的特徵'
'' var= variancethreshold(threshold=0.0)
data=var.fit_transform(
[[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
print(data)
return none
if __name__==
"__main__"
: var(
)
結果:
[
[2 0]
[1 4]
[1 1]
]程序已結束,退出**0
2.主成分分析
本質:pca是一種分析、簡化資料集的技術
目的:是資料維數壓縮,盡可能降低原資料的維數(複雜度),損失少量資訊。
作用:可以削減回歸分析或者聚類分析中特徵的數量
######api: sklearn. decomposition
#### pca(n_components=none)
將資料分解為較低維數空間
####pca.fit_transform(x)
x:numpy array格式的資料[n_samples,n_features]
返回值:轉換後指定維度的array
注:n_components是小數(保留的成分佔比,人為可控,一般在90%~95%)或者整數(減少到的特徵數量,一般不填整數)
from sklearn.decomposition import pca
def pca(
): ''
'主成分分析進行特徵降維'
'' pca=pca(n_components=0.9)
data=pca.fit_transform(
[[2,8,4,5],[6,3,0,8],[5,4,9,1]])
print(data)
return none
if __name__==
"__main__"
: pca(
)
結果:
[
[-3.13587302e-16 3.82970843e+00]
[-5.74456265e+00 -1.91485422e+00]
[ 5.74456265e+00 -1.91485422e+00]
]程序已結束,退出**0
python機器學習day 3
突然覺得標題的day計算方式有問題 對於效能評測,一共有三個指標 準確性和召回率和精確率。書上用的是有點像 卡諾圖 的感覺來列的公式。數電後遺症。實際是1類 實際是2類 分類結果為1類 1類被分類為1類 分類正確 2類被分類為1類 棄真錯誤 分類結果為2類 1類被分類為2類 納偽錯誤 2類被分類為2...
Python基礎學習筆記 Day 3
程式有三種基本結構組成 1.順序結構 2.分支結構 3.迴圈結構 if 條件 語句 判斷使用者輸入數字的奇偶性 s eval input 請輸入乙個整數 if s 2 0 print 這是乙個偶數!print 您輸入的數是 s 判斷使用者輸入的數字的特性 s eval input 請輸入乙個整數 i...
Day3 前端學習
組成部分 標題 表頭 主體 表尾 table 定義乙個 caption 定義 的標題 thead 定義表頭部分 tbody 定義 主體部分 tfoot 定義表尾,一般來顯示彙總資訊 tr 定義一行 th td 定義資料項 單元格 th一般用於表頭,有加粗的樣式 td 一般用於主體部分,沒有加粗的樣式...