作者wavek (壞貓咪)
看板Python
標題[問題] 機器學習sklearn模型與特徵處理問題
時間Tue Feb 19 18:02:03 2019
大家好~
最近在學習sklearn的過程中遇到了一點小問題
來這邊請教各位大神們
1.問題一
最近有一個問題是監督式分類問題
譬如鐵達尼號乘客生存率好了
給的train data 裡面就一堆特徵
然後目標值y是0跟1 (1表示生存) 這樣
這樣我訓練的模型 丟進test的特徵predict後
出來的結果也會是0跟1
可是要上傳的評分結果 是要0~1之間 也就是生存的機率
這樣的情況... 我應該要怎麼做才正確?
目前是用sklearn的隨機森林模型
我目前是有用predict_proba達到目的
但不確定predict_proba這樣用法是否正確
還是有其它更正確模型或方法
2. 問題二
train的資料 有y值
test的資料 沒有y值
想問問大家是怎麼同時處理這兩個的特徵值
我在做特徵處理的時候
是train的特徵處理完
像是填補缺失值 標準化等等...
接著
test的特徵值
我是把前面處理train特徵的code
複製一遍, 然後改成對test做處理
這樣感覺有點怪
還是先把特徵值合併,然後全部一起處理會比較好?
--
台北的夏天 應該會有一場雨
我想起自由 和你的氣味
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.73.139
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1550570528.A.B3C.html
1F:推 st1009: DataScience板會是你的好朋友^^ 02/19 18:56
2F:推 jiyu520: 可以看看kaggle的幾個學習案例噢~ 02/19 19:22
3F:推 jasonfghx: test 沒Y 那是要你自己預測出答案? 02/19 19:43
是 我知道是自己預測出答案上傳
不過我好奇的是
test的特徵跟train的特徵要不要一起處理
如果一起處理跟分開處理的話
我填空缺值的結果會不一樣
4F:推 Raymond0710: train & test data 做同樣的預處理呀 02/19 21:45
5F:→ Raymond0710: 你指的一起和分開是什麼意思 02/19 21:46
如果下面os大大說的 算平均值會有差
6F:推 OnePiecePR: 0~1 問題就變成regression要換 麻豆,但是找找,應該 02/19 22:39
7F:→ OnePiecePR: 有 predition的possibility輸出。 02/19 22:39
8F:→ OnePiecePR: 不過你會這樣問應該是回歸跟分類的意義還要多看紮實一 02/19 22:40
9F:→ OnePiecePR: 點比較好 02/19 22:40
10F:→ OnePiecePR: test 跟 train 的特徵要一起處理,用 pd.concat 串 02/19 22:41
11F:推 OnePiecePR: 啊,你有找到predict_proba,我多嘴了 02/19 22:47
是的 我目前是用concat
不過我其實不太確定要不要concat會比較好
然後我用了predict_proba
但我其實也不知道這是不是正規的做法
12F:→ Luluemiko: 為何填空缺值的結果會不同? 02/20 00:01
13F:推 os653: 例如你拿該特徵的平均值填缺值,有沒有test算出來當然有差 02/20 04:01
14F:推 karco: 標準化時 02/20 10:19
15F:→ karco: 對訓練資料用fit_transform 02/20 10:19
16F:→ karco: 測試資料用transform 02/20 10:19
17F:→ karco: 這樣測試資料就會套用訓練資料標準化時所用的參數,這樣應 02/20 10:19
18F:→ karco: 該可以一致 02/20 10:19
喔 好喔 我再去研究你的意思 謝謝!
※ 編輯: wavek (36.224.114.48), 02/25/2019 23:19:09