Kaggle入门

本文知乎链接:

https://zhuanlan.zhihu.com/p/24883666

个人知乎专栏:

https://zhuanlan.zhihu.com/zhangbingyang

"""*******我是python的注释线********

本文适合想要入门机器学习,深度学习,或者有机器学习基础,想快速入门kaggle并完成一个项目的童鞋(^v^)

************************************""

 

登陆kaggle账号之后,来到界面:

Your Home for Data Science

点击Competitions

 

作为入门,我们选取All Categories里的Getting Started.

 

点进去之后有两个项目,一个是手写识别digit Recognizer项目,一个是我们今天要实践的Titanic项目。

点开Titanic项目:

    这里我们主要关心Home栏里的Data和Make a subssion和kernels栏。data栏提供训练集train.csv和测试集test.csv。提交结果有两种方式,一种是离线处理好数据直接在Make a subssion里提交,一种是在kernels里的New Script里提交代码,我更偏向自己离线处理好数据直接make a subssion。

把Data Files里的文件都下载到本地。

     一般的kaggle项目只包括训练集,测试集以及提交示例,但作为kaggle的入门项目,Titanic项目还提供了三个示例代码。我们运行其中一个,比如gendermodel.py,运行完成后,会生成gendermodel.csv项目。点开make a submission,点击"click or drop your submission here"将本地的gendermodel.csv提交至kaggle,在文本框添加必要的说明,然后点击submit提交。

 

 

    在My Submission里可以看到自己的结果,可以看到,gendermodel.csv的准确率是0.76555。

OK,到这里,kaggle入门这波已经稳了。

    以Titanic为例,你已经学会了如何使用kaggle。而关于Titanic这个项目,我还要多说两句。

    Titanic项目的任务是通过训练集训练一个模型,然后根据测试集中乘客的属性,判断这个乘客是否能存活(生存还是死亡?这是个问题!)

打开训练集,共有892行,每一行表示一位乘客,一个乘客共有“PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked”和“Survived”这几种属性,而在测试集中,乘客信息没有Survived属性,我们需要根据在训练集中训练到的模型,根据测试集乘客信息判断乘客是否能生存(Survived的值等于1或0)。


示例的三个代码(gendermodel.py,genderclassmodel.py,myfirstforest.py)三种处理问题的方式。

1.第一种gendermodel.py处理得最简单粗暴:把乘客的其他信息都丢掉,只根据性别判断:哪个性别的生存率更高则判断哪种性别为存活,比如测试集中男性生存率高,则把男性判断为生存,女性判断为死亡;反之把男性判断为死亡,女性判断为生存。

2.第二种genderclassmodel.py,模型采取了性别,阶层(class),票的价格Fare三种属性。性别为男女,阶层有1~3三种阶层,价格票价分为0~10,10~20,20~30,30~39(大于39的都设置为39)。每个乘客对号入座,某种属性在训练集中生存率平均值大于0.5,则将该属性的乘客判断为生存,小于0.5则判断为死亡。比如,女性,票价0~10,阶层为1的乘客在训练集中生存率平均值为0.75,则对于测试集中所有这一范围的乘客,都将其判断为生存。

3.第三种myfirstforest.py,去掉'Name', 'Ticket', 'Cabin', 'PassengerId'这四个对结果并没有什么用的属性,选择其他全部属性,采取随机森林的算法对结果进行预测。

关于这三个程序,我真的只是简单地说了两句。预知详情,请分析源码 (。・`ω´・)

当然,感觉Titanic项目不怎么好玩,准确率怎么也提不高。还是digit Recognizer更好玩一点,用CNN可以把准确率提高到99%以上,所以这个,我就不贡献自己的方法了~

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值