LightGBM XGBoost需要進行特徵選擇嗎?

時間 2021-05-06 09:40:10

1樓:lulupan

我的簡單結論是,對於有懲罰項的機器學習演算法,不需要。

特徵選擇更多見到的是邏輯回歸這種有考慮置信區間的演算法,因為要考慮置信區間(達不到95%以上的可信度我就不要了),所以要做特徵取捨,因為要做特徵取捨,所以要考慮多重共線性問題,因為共線性會直接影響特徵的重要性表現。

機器學習不考慮置信區間(有些結構你也沒法考慮),只考慮如何對於現有的資料集用乙個f(x)去更好的擬合y,只要加入的特徵沒有造成資料集內的過擬合就都納入進來,通過懲罰項來進行一刀切。

所以說,目的不一樣,機器學習只要求擬合好本資料集,也強大在擬合能力上,泛化的表現取決於資料集的取樣情況,很適合大資料場景下,而資料較少的情況,從泛化角度考慮(看你是為了競賽還是為了實際使用)適合傳統方法。

2樓:倉管先生

從個人理解的角度來說,不同於id3 or c4.5會對分類依據feature種類進行選擇, xgboost從更細的粒度直接對特徵的閾值量依據loss function進行了選擇, 這也意味著同一種類的特徵在xgboost中可以出現在同一樹不同層次。

3樓:立言

先說結論:LightGBM/XGBoost需要進行特徵選擇。

在回答問題之前,先貼出兩個我對機器學習的思考:

1、機器學習學什麼

機器學習,那究竟是學什麼呢?對線性回歸來說,它想學的就是每個特徵的權重,學到了這個才能去判斷。對決策樹來說,它學的是葉子的分割點特徵,學到了從上到下的劃分規則,它才能去劃分新的樣本,賦予標籤。

對gbdt來說,它學的也是劃分規則。

那差別來了,都學劃分規則,有什麼不同呢?

2、機器學習怎麼學

學什麼,也就是學習方向定好以後,怎麼學呢?這裡就是對損失函式定義的不同,優化的方向不一樣。對線性回歸,可以是平方,可以是絕對值。

對決策樹,增益、增益率、基尼係數,都可以達到分割目的,分割方式不一樣。

Gbdt更是有多種形式。

在你的問題中提到:決策樹模型訓練時每次劃分會選擇資訊增益最大的特徵進行劃分,所以我理解的是訓練模型前不需要再手動進行特徵選擇。

演算法都能對特徵做出判斷,不同損失函式不同的判斷,以CART決策樹為例,節點越不純,GINI值越大,在二分類中,如果兩類數量相同,GINI值達到最大,特徵是存在優劣的,有的對標籤影響巨大,有的毫無關係。

另外種子品種和種子大小、Sunny和溫度、土壤和是否施肥,雖然特徵名字一樣,當特徵之間是高度相關的,要避免使用相關性高的特徵。

DNN可以進行高階特徵互動,為什麼Wide Deep和DeepFM等模型仍然需要顯式構造Wide部分?

SIGIR2018 Tutorial中作者將 Wide Deep 跟 DeepFM 歸類到 feature based model。Wide Deep 模型依靠 MLP 進行高階特徵交叉的捕獲DeepFM 引入了 FM做特徵交叉 Feature based 模型顧名思義就是利用更多的資料先驗正規化做...

決策樹如何對連續性特徵進行分段?

並不用考慮每乙個example,對第i個feature,首先以feature i 為key sort feature i,label i 然後將label 有變動的地方作為可能的劃分點,比如 label 為 1,1,0,0,0,1 只需要考慮兩個地方即 1,1 後面和 1,1,0,0,0 後面。對於...

應用神經網路進行分類,輸入特徵屬性之間強關聯對結果有影響嗎?

愛碎碎碎碎念 講道理,有時候我們覺得應該是這樣的,但是實驗結果好像並不是我們預期的那樣,所以你要不先做實驗再分析一下結果呢。畢竟樣本不一定不一樣,處理方法不一定一樣,引數不一定一樣,背景不一樣 扁豆燜面1.0 如果知道已經強相關了,最好處理一下,有兩個好處 一是可以降低模型的負擔,畢竟需要計算的引數...