特徵選擇 單變數特徵選擇

2021-08-28 07:27:48 字數 791 閱讀 9135

1.selectkbest可以依據相關性對特徵進行選擇,保留k個評分最高的特徵。

①方差分析

分類問題使用f_classif,回歸問題使用f_regression。

f_classif:分類任務

跟目標的分類,將樣本劃分成n個子集,s1,s2,..,sn,我們希望每個子集的均值μ1,μ2,...,μn不相等。

我們假設h0:μ1=μ2=...=μn,當然我們希望拒絕h0,所以我們希望構造出來f最大越好。所以我們可以通過第i個特徵xi對分類進行**。f值越大,**值越好。

f_regression:回歸任務

引用參考:

from sklearn.feature_selection import selectkbest

from sklearn.feature_selection import f_classif

from sklearn.datasets import load_iris

# 特徵選擇

data = load_iris()

slectkbest = selectkbest(f_classif,k=2)

datak = slectkbest.fit_transform(data.data,data.target)

②χ²檢驗

卡方檢驗用於分類問題

③互資訊

mutual_info_classif:分類問題

mutual_info_regression:回歸問題

2.selectpercentile 選擇排名排在前n%的變數 

特徵工程之特徵選擇

在前一篇文章中我介紹了一些資料預處理的方法,原始資料在經過預處理之後可以被演算法處理了,但是實際中可能有一些特徵是沒有必要的,比如在中國採集的一些資料,那麼國籍就都是中國,其實也就沒有意義了,反映在統計量上就是方差過小,也就是樣本在這個特徵上變化很小。還有一種情況是特徵和最後的結果相關性很小,也就是...

特徵工程之特徵選擇

特徵選擇其實就是減少屬性個數,為什麼要這麼做呢?直接使用原始資料來訓練模型的話,雖然說在訓練模型上的準確率會非常高,但是在測試樣本上的準確率將會大打折扣,也就是會產生過擬合的現象。所以說需要選擇出最適合的屬性進行訓練。特徵選擇的原因 2 雜訊 部分特徵對 結果又影響 進行特徵選擇的時候有兩種情況 一...

特徵選擇與特徵組合

特徵選擇 特徵選擇是特徵工程中的重要問題 另乙個重要的問題是特徵提取 坊間常說 資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。由此可見,特徵工程尤其是特徵選擇在機器學習中占有相當重要的地位。通常而言,特徵選擇是指選擇獲得相應模型和演算法最好效能的特徵集,工程上常用的方法有以下 ...