特徵重要性選取問題
老師您好,請問為甚麼,作業中使用 .feature_importances_出來的結果重要性比較是sex , Pclass,Ticket,Fare...,可是再往下的做時,題目卻說是Ticket和Name 為此資料的兩大特徵呢? 請問這要怎麼判斷,謝謝。
回答列表
-
2019/05/21 上午 10:28張小馬贊同數:0不贊同數:0留言數:0
因為答案跑出來的object數據,是把Ticket和Name當作前2名。不過我確實想問為什麼答案跑出來長那樣。
https://www.cupoy.com/qa/kwassist/ai_tw/0000016AD812C2B6000001C06375706F795F72656C656173655155455354
-
2019/05/22 下午 05:33張維元 (WeiYuan)贊同數:1不贊同數:0留言數:0
嗨,這個部分很多同學提出疑問,重跑的差異跟解讀有不同,這邊我想請主辦單位統一公告好了。
-
2019/05/29 下午 10:47Jimmy贊同數:1不贊同數:0留言數:0
Hi!
我想這個問題在大家後續接觸到 Gradient Boosting Machine 後應該就可以比較清楚原因為何啦。其演算法的架構,在遇到兩個特徵有高度重疊時,會把特徵重要性全部分給其中一個特徵,至於選哪一個特徵則是會一開始對特徵做排序,先選到的優先使用。改用隨機森林演算法後,就不會看到這樣的情形囉 (若是隨機森林,兩個高度重疊的特徵,其重要性會被均分)。
那回到另一個問題,姓名這個特徵在資料裡面真的合理嗎? 有看過電影的同學應該知道,最後船上的共識是先讓婦女、幼童優先上救生船,再來才是商務旅客,所以理論上婦幼的生存率應該會比較高一點,但問題是透過姓名能夠知道性別嗎?答案是...好像可以耶?! 這邊分享一篇只使用姓名當作特徵就能達到超過 0.8 準確率的文章,證明其實姓名是真的是個有用的特徵,只是他與性別高度重疊,但又沒有性別來得明確,才會發生這種同樣的程式碼與資料,但跑出來的結果不太一樣。
我想遇到這樣的問題對要接觸資料科學的同學其實是個非常棒的經驗,試著去了解演算法的缺失,也了解資料中可能隱藏的問題與巧合,正是資料科學有趣的地方 :)