DataScience 板


LINE

作者: pipidog (如果狗狗飛上天) 看板: Python 標題: Re: [閒聊] 菜鳥上Kaggle: 房價預測 時間: Wed Mar 7 04:33:23 2018 ※ 引述《OnePiecePR (OPPR)》之銘言: : 這裡有人玩 Kaggle 嗎? : 其實我還沒認真坐坐下來學Python,也沒其他程式經驗。 : 只是朋友說Kaggle 很好玩,可以當作學 Python 的目標,建議每兩週作一題,我就挑戰 : 看看。 : 我做的是很久的題目,1460 筆房價資料,每筆資料79個特性。 : 訓練後,要估另外1459筆資料回傳讓網站系統估算成績。 : 我先花了四五天,整理資料(我以前 Excel 還可以),然後朋友丟一個 Lasso Regressi : on給我,我馬上套用,算一個結果就上傳... 以為這樣就算完成一題。 : 結果被打搶,Error message 我沒看清楚。 : 那一版真的很差,預估值誤差 rmse 將近35000。 : 再花了一週時間,重新再整一次資料,邊研究別人的方法,大致加了兩招:XGB 跟 K fol : d 誤差降低到15000 左右。我想大概是我的極限了。 : 過程中一直用的 bumpy,pandas,一下子 array, 一下子 dataframe, 花了不少時間處理 : ,應該乖乖坐下來搞懂才是。 一點想法: 1. 1460筆資料,卻有79的feature,似乎太多了.你聽過維度詛咒嗎? 建議先作特徵 選取,挑出最重要的20個feature(或者更少? 這你得試試看才知道)來作訓練: *你說你選擇用Lasso Regression,不知是有目的的這樣作還是隨便挑的,因為Lasso 其實就是在loss裡面加入了L1懲罰,L1會導致線性擬合的時候很多參數被強迫變 成0.這意味著你也認為這79個feature裡面,其實只有幾個是真正重要的.如果是 這樣,何不一開始就先試著作特徵選取? (事實上有時候Lasso就是拿來做特徵選 取之用) http://scikit-learn.org/stable/modules/feature_selection.html 2. 如果資料只有1千多筆,而網站又提供的另外的測試集了,建議訓練時就不要再分 測試跟訓練了. 你直接對全部的資料用corss-validation來判斷模型表現,找出 好的超參數後,就拿全部資料訓練模型就好.才一千多筆還分測試跟訓練,貴了一點. http://scikit-learn.org/stable/modules/cross_validation.html 3. 你的數據可能非線性程度高,用Lasso自然不好,試試看SVM(支援向量機)? 一般如果是回歸問題,kernal多選用Radial basis function http://scikit-learn.org/stable/modules/svm.html#regression 4. 沒有一個模型不能解決的事情,如果有,就給它一堆模型! 所以你可以考慮ensemble learning,例如random forest, adaboost,..,etc.多數情況下會比用單一模型好. http://scikit-learn.org/stable/modules/ensemble.html 5. 最後找個網站,把pandas練熟,這東西沒弄熟,洗資料會搞得你很痛苦. https://ithelp.ithome.com.tw/users/20103511/ironman/1077?page=2 看一下14,15天. * 最後,處理數據佔90%的時間,訓練模型只佔10%,這是很正常的...越髒的事情越花時間 ,不要覺得奇怪. -- ★人生中最溫暖的夏天是在紐約的冬天 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 73.66.168.95
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1520368414.A.CE9.html ※ 編輯: pipidog (73.66.168.95), 03/07/2018 04:51:15
1F:推 aszx4510: 感謝教學 獲益良多 03/07 05:58
2F:推 stoltzman: 感謝大大分享!獲益良多! 03/07 07:18
3F:推 vfgce: kaggle的測試集,通常不附target..沒辦法用cross-validation 03/07 07:30
4F:→ vfgce: emsemble learning通常也沒有比單一模型好很多.. 03/07 07:32
5F:推 vfgce: pandas真的要好好學,但sklearn最大問題在於對類別屬性的 03/07 07:37
6F:→ vfgce: 處理不佳. 03/07 07:37
7F:→ vfgce: pandas已經有category,但sklearn還無法使用 03/07 07:39
8F:→ vfgce: 目前只有Y能夠以分類處理,X的部分都轉成int,然後被轉成 03/07 07:42
9F:→ pipidog: v大,同意,sklearn跟pandas真的整合度很糟糕... 03/07 07:43
10F:→ pipidog: 但可見未來似乎也不太可能改善,只能靠耐心處理了 03/07 07:43
11F:→ vfgce: flaot去處理了.這是頗不合理的處理方式.... 03/07 07:44
12F:→ vfgce: 用過R的大概知道我說的是什麼..這部分希望sklearn能否直接 03/07 07:45
13F:→ vfgce: 支援pandas就方便多了. 03/07 07:45
14F:推 Luluemiko: 推 03/07 09:33
15F:推 leo021566: 推 03/07 11:32
16F:推 goldflower: ensemble現在應該一堆都直接無腦XGBoost了XD 03/07 15:58
17F:推 neil987: 不妨玩玩看PCA 03/07 16:03
18F:推 EGsux: 比較好處理 category好的方法就是 one hot 然後pca了 但是 03/07 16:20
19F:→ EGsux: category類用來做 regression也不要太期待accuracy 03/07 16:20
20F:推 EGsux: test set當然沒 target比賽就是那樣 要用 training 來做cv 03/07 17:03
21F:推 vfgce: 所以你有一堆數值和類別混合的data,用python做真的會想XXX 03/07 17:07
22F:→ vfgce: R內建有factor類別,套件也多能配合,用起來方便多了. 03/07 17:08
23F:推 vfgce: 明明sklearn是一個豐富的PACKAGE,當初怎沒將這個考慮進去. 03/07 17:21
24F:推 vfgce: 用上決策樹的感受特別明顯. 03/07 17:23
25F:→ vfgce: ONE HOT 也不是萬靈丹,當屬性含有很多類別時,會製造出更多 03/07 17:25
26F:推 vfgce: 屬性,整個屬性維度又更大. 03/07 17:29
27F:→ vfgce: R內建的FACOTR,套件大多考慮到這一層,用起來方便多了. 03/07 17:31
28F:→ vfgce: 或許SKLEARN 只考慮到配合NUMPY使用,但這問題應該還多人都 03/07 17:32
29F:→ vfgce: 遇到了. 希望後面的版正能修正這個問題... 03/07 17:33
30F:推 cc9i: 髒 這體會有同感 03/07 21:23
31F:推 fischcheng: 受教啦,感謝! 03/08 04:38
32F:推 Raymond0710: 推 03/08 08:28
33F:推 f496328mm: 提供一個關於 category 轉換的方法 03/08 10:51
34F:→ f496328mm: 在kaggle上用過, 效果不錯 03/08 10:51
35F:→ f496328mm: https://goo.gl/LqCNjP 03/08 11:19
36F:推 bestchiao: 感謝上面f大分享 很詳細 03/08 16:09
--



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.8.6.231
※ 文章網址: https://webptt.com/m.aspx?n=bbs/deeplearning/M.1520642760.A.2B2.html
37F:推 NBAPredictor: 小弟不專業 但Lasso在N>P的情況使用到底有什麼意義? 03/10 13:04
38F:→ NBAPredictor: 之前面臨到的情況都是P>>N才會使用到LASSO 03/10 13:05
39F:→ NBAPredictor: 且使用的都是Group Lasso 03/10 13:05
40F:→ NBAPredictor: 1460*79 直覺的作法就是拉Stepwise L2挑Feature 03/10 13:08
41F:→ NBAPredictor: 相關係數 變異數等一次統包都考慮到了 03/10 13:09
42F:→ NBAPredictor: 這篇提到Lasso有什麼特別的用法嗎 03/10 13:09
43F:→ hl4: N和P分別是指什麼? 03/10 15:31
44F:推 seasa2016: 推 03/10 22:10
45F:→ f496328mm: N是data數,p是variable數 03/11 12:42
46F:推 f496328mm: lasso就只是很單純的迴歸+ penalty term,並沒有說p>n 03/11 12:44
47F:→ f496328mm: 才能用 03/11 12:44
48F:推 NBAPredictor: 對啊 可是不知道有什麼好處 03/11 16:47
49F:→ aaaba: 做 selection 的前提不就暗示了存在 sparsity?所以用一下 03/11 16:57
50F:→ aaaba: lasso 也是滿合理的。實務上當然不會那麼理想,就是多個 03/11 16:57
51F:→ aaaba: 方法可以踹看看這樣 03/11 16:57
52F:推 NBAPredictor: 也是 踹看看 03/11 17:13
53F:→ Wush978: LASSO可以壓縮模型,因為參數為0的在怖署時可以刪除 03/11 17:58







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP