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/cn.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/cn.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灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP