作者world1220 (gunhow)
看板DataScience
標題[問題] 資料拆分與資料前處理
時間Wed May 27 15:22:31 2020
大家好,最近開始入門 Kaggle 基本的競賽,
在這些競賽中都先分好訓練跟測試資料集。
而在看過一些熱門的kernel發現,
多數人在一開始就先將training跟testing資料集合併,
接著進入EDA(Exploratory Data Analysis)階段。
其中在這個階段中需要處理缺失值的問題。
小弟想問的是 先把兩個資料集合併後,利用mean或median方式處理缺失值不會有偷看答案的問題嗎?(因為使用包含testing的資料進行處理)
非常謝謝大家的回答~
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.70.106 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1590564153.A.465.html
※ 編輯: world1220 (140.115.70.106 臺灣), 05/27/2020 15:25:18
※ 編輯: world1220 (140.115.70.106 臺灣), 05/27/2020 15:26:46
1F:推 jigfopsda: 看使用的情境 比賽的情況下可以先拿到 test data 我覺 05/27 16:04
2F:→ jigfopsda: 得就可以用 05/27 16:04
3F:推 kokolotl: 為了分數就合在一起處理 05/27 16:30
4F:→ hit5180214: 不會 05/27 17:12
5F:→ world1220: 非常謝謝大家回答 05/27 17:52
6F:→ world1220: 想請問hit大大 為什麼這樣不會有偷看答案的問題呢? 05/27 17:52
7F:→ truehero: 這不是偷看答案,而是讓你的mean更合理 05/27 19:35
8F:→ world1220: 謝謝truehero大大的回答。 05/27 21:27
9F:→ world1220: 對於讓mean更加合理我想我可以理解。 05/27 21:27
10F:→ world1220: 那另外想問 若是使用scale的動作時,也能夠將資料合併 05/27 21:27
11F:→ world1220: 在一起同時scale嗎?因為我過去學到的是在scale時必須 05/27 21:27
12F:→ world1220: 將資料拆分後再做這個動作。 05/27 21:27
13F:推 st1009: 假設你今天在一家公司裡,你們蒐集了很多資料,這些資料你 05/28 09:16
14F:→ st1009: 門僱用了工讀生label了20%,你希望得到剩下80%的label,那 05/28 09:18
15F:→ st1009: 現在你對那些未知label的資料做你所說的處理合理嗎? 05/28 09:19
16F:推 sxy67230: 就一起做scale啊,這是比賽,本來很多trick可以用就先 05/28 11:53
17F:→ sxy67230: 用上,尤其是連測試資料一起做分析,最後在訓練train da 05/28 11:53
18F:→ sxy67230: ta來預測test data,說白了就是讓特徵分佈的尺度縮限在 05/28 11:53
19F:→ sxy67230: 一定範圍內而已。 05/28 11:53
20F:→ world1220: 謝謝sxy大,所以在比賽時規則沒有明訂的前提下用盡身邊 05/28 13:40
21F:→ world1220: 的資源以及手段去提高準確率是可以的。 05/28 13:40
22F:→ world1220: 那小弟我好奇如果是在實務或是在嚴謹研究上呢?也能夠 05/28 13:40
23F:→ world1220: 這麼做嗎?因為test data的定義不是只能拿來最後衡量模 05/28 13:40
24F:→ world1220: 型的表現嗎?我們在建造model的時候是不能用到任何關於 05/28 13:40
25F:→ world1220: test data的資訊的吧? 05/28 13:40
26F:推 aidansky0989: 我在info就補缺失值,mean用整體是比較準,只要訓練 05/28 14:56
27F:→ aidansky0989: 時沒用到test就好 05/28 14:56
28F:推 andy086: 我的經驗啦,基本上在實務上不可能只會有一組test data, 05/28 15:53
29F:→ andy086: 通常會拆成train validation和test,而val是從train拆出 05/28 15:53
30F:→ andy086: 來的,而test則是真實的未來資料。所以模型建立時要像你 05/28 15:53
31F:→ andy086: 說的那樣處理並不是不可以,因為val就是從train當中切出 05/28 15:53
32F:→ andy086: 來的一部分,但最後驗證一定會需要一筆從來沒看過的未來 05/28 15:53
33F:→ andy086: 資料驗證才行 05/28 15:53
34F:→ andy086: 如果只是針對比賽就像前幾樓所說的囉 05/28 15:54
35F:→ yoyololicon: 比賽最後評分的那個才是test data 05/28 18:52
36F:→ yoyololicon: 你拿不到的 05/28 18:52
37F:推 andy086: 對欸我都忘記了,感謝樓上提醒,所以其實還是一樣的 05/28 19:23
38F:→ world1220: 了解了 謝謝上面各位的幫忙~ 05/28 20:03