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