訓練資料及測試資料的問題
1 .請問 Day_016 中原本的 app_train 和 app_test 兩個 dataframe 為什麼要另外複製成 train test 來操作
而且我跑了 train 跟 test 都是 array形式 在跑模型時會有差別嗎
# 特徵欄位清單
train = app_train
features = list(train.columns)
#複製 test 資料
test = app_test.copy()
2 .另外 features 並沒有用到 為甚麼還要特別列這一行 ??
3. 以下程式碼是將變數標準化 那 SK_ID_CURR好像還沒有去掉?! 是不是也拿去做標準化了??
#縮放器載入 train 的上下限, 對 train, test 進行縮放轉換
scaler.fit(train)
train = scaler.transform(train)
test = scaler.transform(test)
4. 最後這段 是把每個人的機率併再一起
但要怎麼確定 每一筆跑出來是1的機率(log_reg_pred) 剛好對的到 每一筆SK_ID_CURR ??
是因為順序一樣 所以直接併一起 就能知道每個人遲繳貸款的機率???
submit = app_test[['SK_ID_CURR']]
submit['TARGET'] = log_reg_pred
submit.head()
回答列表
-
2019/05/02 上午 09:15Seanyu.TW贊同數:0不贊同數:0留言數:0
1. 因為在一個標準的比賽獲是現實場域中, test.csv (real testset) 通常是我們不可得到的。但是我們在訓練模型的過程中,還是需要有一份資料來做驗證,所以會從手上的 train.csv 上在切分為 train / validation set。
-
2019/05/02 上午 09:16Seanyu.TW贊同數:0不贊同數:0留言數:0
3. 應該要避開那欄唷。(另外名義變項 都不應該做標準化)
-
2019/05/02 上午 09:17Seanyu.TW贊同數:0不贊同數:0留言數:0
4. 因為是按照順序的,所以如果沒有重新 shuffle 過資料,順序沒有動到可以直接重新合併。