特征選擇,這是一個在機器學習中非常重要的東西,那些好的特征可以從整體上來提升模型的性能,可以幫助我們更加清晰的理解真個數據的特點及底層結構,對于后面的模型,算法有著非常重要的作用。
備注:在很多情況下,特征選擇并非必要的,業務特征的選擇有很強烈的業務契合度在里面,代表著這些特征在業務中的重要性也是很高,如果去掉,很有可能會有一定的副作用,但是無法說清這個副作用,這個需要進入到訓練中去訓練數據來驗證這個效果。
特征選擇作用
這里有些同學可能是剛開始接觸做特征選擇,并不是很了解為什么要做特征選擇,做了有什么作用?是否只是簡單地減少特征?是否這樣子做了,對結果有沒有影響?
這里每個人都有自己的理解,小編根據自己的經驗,總結有兩個,參考一下:
1、減少特征的數量,降低維度,這樣子可以在一定程度上加強模型的泛化能力,從而盡可能地減少過擬合,這里要注意一下:過擬合只能減少,無法消滅,好比這個世上,其實沒有最優解的一樣,擁有的只有不滿足。
2、在一定程度上降低特征后,從直觀上來看,很多時候可以一目了然看到特征與特征值之間的關聯,這個場景,需要實際業務的支撐,生產上的業務數據更加明顯,有興趣的同學可以私信我加群,一起研究。
特征選擇從何入手
這是一個非常重要的問題,有很多同學可能剛開始接觸或者想往這方面發展,拿到了一組數組,很多時候就是直接拿了一個算法,直接做分類或者做回歸或者做聚類,但是這樣子正常情況下,數據會存在很多噪音(科普:噪音可以理解為一些垃圾數據,對我們的結果或者期望造成了干擾),這樣子的數據不會很好。
那如果我要特征選擇呢,又不知從何入手?
這里有兩個方法,可以作為參考:
1、從業務范圍分析,直接觀察特征與業務的相關性,這點非常重要,那些對業務有著直接指標的數據,建議保留,否則,可以考慮手動刪除掉。
2、從發散特性分析,這個很多同學畢業后,就忘了這個東西,簡單用成語一個成語來理解一下:一成不變。如果這個特征滿足這種條件,那證明不發散,其實在數學中,用方差來計算的,這種不發散的特征,基本就沒有什么差異性了,例如某一項特征都是0,怎么有影響呢,這樣子的特征其實就沒什么用。
特征選擇的三種方法
進行特征選擇的時候,其實有一定的方法或者規律可言,總結起來有三個
1、過濾法:目前這是小編用的最普遍的方法,因為最簡單,與業務契合度最高,操作過程就是我可以設定某一個閾值,然后根據數據的發散情況或者與業務是否相關來打分,一般都是當低于這個閾值的時候,就可以考慮過濾掉。
2、嵌入法:這個方法無法直接從字面來理解,但是其實也是很好的東西,小編把它叫做過濾法的進化版。如何理解這個進化版,原先我們采用過濾法的時候,很多時候是人肉直接擼一擼,但是這時候特征多呢,給你200個特征,然后我就可能瞎了或者手廢掉了,此時的做法是此案用機器學習的算法或者模型來訓練,然后可以得到各個特征的權重值,做個排序,干掉那些排序地的,例如樹的特征選擇,這些算法,后面會逐一介紹。
3、包裝法:聽這個名字,是不是也是很迷糊,其實這個也比較好理解,不斷循環訓練模型,進行目標函數的計算,一般我們是采用預測的效果來評分,逐一選擇一定量的特征來做,不斷循環,得到結果進行對比,這樣就可以看到哪些特征不好。不過這個小編比較少用,計算上比較費時費力,后面的具體算法也會介紹到。
-
算法
+關注
關注
23文章
4612瀏覽量
92887 -
機器學習
+關注
關注
66文章
8418瀏覽量
132628
發布評論請先 登錄
相關推薦
評論