做特徵工程前,為何需從 df_train 抽出 train_Y?
老師您好,想請問一些 Day17 範例中的問題:
1. 在做特徵工程前,要先從 df_train 抽出 train_Y 的意義是什麼?抽出 ids 我能理解是為了後續將輸出結果 pred 與 ids 對照合併,但為什麼要拿未特徵工程過的 train_Y 和已特徵工程過的 train_X 去跑模型呢?
2. 為什麼要先抽出 df_train 中的 train_Y 和 df_test 中的 ids,才能讓兩個 dataframe 合併做特徵工程呢?
3. 前陣子看 Jimmy 老師有提到說,正規的機器學習理論上是不允許使用任何 test data 的資訊的。那麼將 train 和 test 接起來再做特徵工程,這樣是可以的嗎?還是說基本的欄位調整和特徵縮放這樣的處理,是可以被接受的。
回答列表
-
2019/05/04 下午 08:56張維元 (WeiYuan)贊同數:2不贊同數:1留言數:0
1. 在做特徵工程前,要先從 df_train 抽出 train_Y 的意義是什麼?抽出 ids 我能理解是為了後續將輸出結果 pred 與 ids 對照合併,但為什麼要拿未特徵工程過的 train_Y 和已特徵工程過的 train_X 去跑模型呢?
=> train_Y 就是要預測的目標 Target,一般不會對 Target 做特徵工程。
2. 為什麼要先抽出 df_train 中的 train_Y 和 df_test 中的 ids,才能讓兩個 dataframe 合併做特徵工程呢?
=> 是要讓資料可以對回去吧?
-
2019/05/04 下午 08:58張維元 (WeiYuan)贊同數:2不贊同數:1留言數:0
3. 前陣子看 Jimmy 老師有提到說,正規的機器學習理論上是不允許使用任何 test data 的資訊的。那麼將 train 和 test 接起來再做特徵工程,這樣是可以的嗎?還是說基本的欄位調整和特徵縮放這樣的處理,是可以被接受的。
=> 那麼將 train 和 test 接起來再做特徵工程,這樣是可以的嗎?可以,但是嚴格來說是不能用到 test 的資訊,只能依據 train 的數值來做調整。