特徵篩選(嵌入型Embeded)

2021-10-10 12:44:08 字數 869 閱讀 1137

基於模型的特徵選擇使用乙個監督機器學習模型來判斷每個特徵的重要性,並且僅保留最重要的特徵。用於特徵選擇的監督模型不需要與用於最終監督建模的模型相同。特徵選擇模型需要為每個特徵提供某種重要性度量,以便用這個度量對特徵進行排序。

可以利用l1正則化的稀疏功能,以及樹類演算法可以計算特徵重要性的功能。

相比l2正則化,l1正則化更趨近於使引數為0,而l2則會是引數趨向於零;所以l1具有稀疏引數的功能。

通常採用rm,gbdt演算法,利用每一層的特徵對結果損失下降的總和排序,決出特徵重要性排名。

採用該函式可以直接幫我們實現特徵篩選的功能

selectfrommodel(estimator,

*, threshold=

none

, prefit=

false

, norm_order=

1, max_features=

none

)

引數

estimator: 基學習器

threshold:閾值,幫你篩選閾值以上的特徵。例如中位數,平均值。如果用的是l1正則化,閾值為1e-5次方; 該引數預設為mean

max_features:特徵剩餘最大數量。如果設定她的話,需要設定threshold=-np.inf.

屬性estimator_: 檢視基學習器屬性

threshold_:檢視閾值屬性

方法fit

fit_transform

get_params():get parameters for this estimator.

get_support([indices=true or false]):獲得選擇的特徵

python 特徵篩選

from sklearn.feature selection import variancethreshold,selectkbest,chi2 from sklearn.datasets import load iris import pandas as pd x,y load iris retu...

特徵工程 之 特徵篩選

從現有的m個特徵中選出n個特徵 n m 降低特徵維度減少計算量的同時,使模型效果達到最優。在實際業務中,用於模型中的特徵維度往往很高,幾萬維。如一些ctr預估問題中,特徵維度高達上億維,維度過高會增大模型計算複雜度。但實際情況是,並不是每個特徵對模型的 都是有效果的,所以需要去除一些不必要的特徵,從...

機器學習 特徵工程 特徵篩選

1 冗餘 部分特徵相關度太高,消耗計算效能,影響決策樹分支的選擇。2 雜訊 部分特徵是對 結果有負影響 3 降維 減少特徵數量 降維,使模型泛化能力更強,減少過擬合 4 特徵選擇與降維的關係 特徵選擇只篩選掉原本特徵裡和結果 關係不大的,後者做特徵的計算組合構成新特徵。svd pca降維也能解決一定...