kaggle competition 之 Titanic: Machine Learning from Disaster

     Kaggle是一个数据科学竞赛平台(making data science a sport),在上面,很多机构会发布研究问题和数据集提供大家解决,有些会有报酬。第一次看到这个网站就觉得它会火,在信息爆炸时代,通过挖掘历史数据来对业务提供更有效的服务已经是大势所趋。而kaggle上的题目都是偏向数据挖掘类的,这相比ACM或者projecteuler这种纯算法的题要更有专业和更开放;一个题一般都会有一个量化评价指标,所以又比数模竞赛更专注。因此从事数据分析挖掘行业的研究人士和工作者都可以在上面找到一些题目练手。Kaggle只允许每个题目每天提交2次结果,所以你不能线下疯狂尝试各种参数往上测试。

     现在有一道机器学习的题目 Titanic: Machine Learning from Disaster 这个题数据量小而且问题简单就是预测在那次还难之中谁更有机会存活下来。其中数据集包含几个字段:姓名,乘客类型,是否有家属,船票信息,等等,详细的留意dataset页面。作者提供了自己的方案和分析,按照作者的办法,简单的用性别进行预测准确率都达到75%;之后又增加年龄、类型等属性,又提高了一些;然而继续增加属性,采用随机森林算法的时候却反而没有达到最好,作者也进行了一些分析。所以看到这,相信直接从简单的属性和模型开始,可能会得到更好的预测结果。

      我首先用了pclass,sex,age,sibsp,parch这几个字段,其中age按10岁划分、连没年龄的共8个区间,其他字段全部利用属性的值,训练算法用了libsvm的线性核svm,第一次提交效果就超过作者最好的结果了. 运气不错。之后试了几次非线性的SVM,效果反而下降了。到这里可以组合的策略其实很多,一方面增加和改善特征,另一方面选用和改进分类器。对于学术研究来说一般偏向后者,因为前者更针对数据集,而在kaggle问题是具体的,因此改进特征选择各方面考虑更实用。

      我的特征选择改进了sibsp,parch的划分: 0, 1, 2~4, 5+ 增加fare和cabin。fare取底为2的log之后以2进行划分,cabin分为有和没有,分类器继续用线性核svm,效果再次提高到接近80%,显示特征选择效果还是比较明显。如果看过电影的人都应该会知道妇女和儿童更具有更多的生还机会,而登上救生艇也肯定不是人属性上的线性叠加,猜测多元属性组合可能还会提高预测效果。

      而之后进行的几次二元联合特征加入都没提高分类效果。这也好理解,训练样本只有不到900,二元组合特征加进去就有100多,很容易造成过拟合,于是我只选择部分对生还置信度较高和较低的二元特征,效果更差了、又再试了试L1逻辑回归来减少有效特征数目,提交结果也是不如最好的那两次....

     暂时想不出还能怎么搞,应该要从人物关系上投入点挖掘,有人就开始研究人名了....就在提交的这几天,看到有队伍做到94%+ 拉开下面的10%,我也想到了,估计是直接把生还名单找出来填答案的,这两天结果又被撤掉了,其实作弊一点的办法也有,就是拿正确的测试集和训练集一起训练,模型一定更准.....反正这个题目挺适合机器学习入门的人尝试玩玩


      Kaggle提供的竞赛平台还是很好的,做上面的题未必要拿个前几名,能够通过题目扩展数据挖掘知识和提高技能最重要。大家空闲时间多的话强烈推荐!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值