cross_val_score的問題
2019/09/08 上午 10:53
機器學習共學討論版
林修德
觀看數:81
回答數:2
收藏數:0
ml100-3-d12
ml100-3
您好:
在程式範例中,是這樣寫的:
train_num = train_Y.shape[0]
df_mn = df.fillna(df.mean())
train_X = df_mn[:train_num]
estimator = LinearRegression()
cross_val_score(estimator, train_X, train_Y, cv=5).mean()
疑問如下:
為什麼在train_X 只用df_mn[:train_num]部分的資料進行分析?
train_num以後的資料是直接忽視嗎?
空缺值卻是用完整的df_mn.mean()填補?而不是用df_mn[:train_num].mean()填補?
還是我漏了什麼需要再看哪些課程?
以上,謝謝。
回答列表
-
2019/09/08 下午 02:43張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
為什麼在train_X 只用df_mn[:train_num]部分的資料進行分析?train_num以後的資料是直接忽視嗎?
=> 因為 我們要把 train_X 跟 train_Y 合併,因此用取的是 train_Y 的數量。如果 train_X 跟 train_Y 一樣多,[:train_num] 即取到全部的資料。如果 train_Y 多於 train_X ,的確會把 train_num 以後的資料直接忽視。
-
2019/09/08 下午 02:43張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
空缺值卻是用完整的df_mn.mean()填補?而不是用df_mn[:train_num].mean()填補?
=> 其實這邊應該都可以,填補只要用一個「大概不要影響太多」的值就好