使用drop的時機點
2019/05/15 下午 02:38
機器學習共學討論版
張小馬
觀看數:8
回答數:1
收藏數:0
ml100-2
ml100-2-d23
在Day023的answer中,先【for c in df.columns:】之後,才做【data.drop(['Survived', 'Name_mean', 'Ticket_mean'] 】,這看起來很像是我們判讀了【Name_mean、Ticket_mean】這兩個欄位的內容後,我們才決定把這兩個欄位drop掉。
想請教的點在於,更前面透過【train_X.nunique()】,就已經發現【Name、Ticket】這兩個欄位的種類過多了,那為什麼不直接在【train_X.nunique()】後面直接先做【df = df.drop(['Name', 'Ticket']】,再做後續【for c in df.columns:】的動作呢?
想了解drop放在後面,等mean算完了才drop的原因或用意,感謝感謝。(例如其實看mean決定要不要drop,比直接看nunique()還要準?或是保留mean值在往後的課程中有其他用意,維持此程式碼的一致性等等,例如會以參數的概念取代掉我們直接指定要drop的欄位。)
回答列表
-
2019/05/15 下午 03:50陳明佑 (Ming You Chen)贊同數:1不贊同數:0留言數:1
這邊的解答寫作上, 是有先後順序的
就像各位同學的寫作方式一樣, 一開始這題當然是直接先做均值編碼
結果出現 Accuracy 後, 就必須找他的原因
因此才在前面加上了 .nunique的尋找
至於先drop掉也是可以, 只要方便你的理解就好