[問題] 機器學習sklearn模型與特徵處理問題

看板Python作者 (壞貓咪)時間5年前 (2019/02/19 18:02), 5年前編輯推噓8(8010)
留言18則, 8人參與, 5年前最新討論串1/1
大家好~ 最近在學習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://www.ptt.cc/bbs/Python/M.1550570528.A.B3C.html

02/19 18:56, 5年前 , 1F
DataScience板會是你的好朋友^^
02/19 18:56, 1F

02/19 19:22, 5年前 , 2F
可以看看kaggle的幾個學習案例噢~
02/19 19:22, 2F

02/19 19:43, 5年前 , 3F
test 沒Y 那是要你自己預測出答案?
02/19 19:43, 3F
是 我知道是自己預測出答案上傳 不過我好奇的是 test的特徵跟train的特徵要不要一起處理 如果一起處理跟分開處理的話 我填空缺值的結果會不一樣

02/19 21:45, 5年前 , 4F
train & test data 做同樣的預處理呀
02/19 21:45, 4F

02/19 21:46, 5年前 , 5F
你指的一起和分開是什麼意思
02/19 21:46, 5F
如果下面os大大說的 算平均值會有差

02/19 22:39, 5年前 , 6F
0~1 問題就變成regression要換 麻豆,但是找找,應該
02/19 22:39, 6F

02/19 22:39, 5年前 , 7F
有 predition的possibility輸出。
02/19 22:39, 7F

02/19 22:40, 5年前 , 8F
不過你會這樣問應該是回歸跟分類的意義還要多看紮實一
02/19 22:40, 8F

02/19 22:40, 5年前 , 9F
點比較好
02/19 22:40, 9F

02/19 22:41, 5年前 , 10F
test 跟 train 的特徵要一起處理,用 pd.concat 串
02/19 22:41, 10F

02/19 22:47, 5年前 , 11F
啊,你有找到predict_proba,我多嘴了
02/19 22:47, 11F
是的 我目前是用concat 不過我其實不太確定要不要concat會比較好 然後我用了predict_proba 但我其實也不知道這是不是正規的做法

02/20 00:01, 5年前 , 12F
為何填空缺值的結果會不同?
02/20 00:01, 12F

02/20 04:01, 5年前 , 13F
例如你拿該特徵的平均值填缺值,有沒有test算出來當然有差
02/20 04:01, 13F

02/20 10:19, 5年前 , 14F
標準化時
02/20 10:19, 14F

02/20 10:19, 5年前 , 15F
對訓練資料用fit_transform
02/20 10:19, 15F

02/20 10:19, 5年前 , 16F
測試資料用transform
02/20 10:19, 16F

02/20 10:19, 5年前 , 17F
這樣測試資料就會套用訓練資料標準化時所用的參數,這樣應
02/20 10:19, 17F

02/20 10:19, 5年前 , 18F
該可以一致
02/20 10:19, 18F
喔 好喔 我再去研究你的意思 謝謝! ※ 編輯: wavek (36.224.114.48), 02/25/2019 23:19:09
文章代碼(AID): #1SQzGWiy (Python)