1.注册kaggle账号
注册的时候注意:网站发Email来自己的邮箱confirm的那个链接貌似需要上网
2.配置API
3.报名竞赛 进入Data
这个界面会提供竞赛背景和数据的概要/特征
4.下载数据
Data界面的Data栏目后面有个API,点击可以copy下来.
可以在后面补充路径相关内容
kaggle competitions download -c <competition_name> -p <path>
#or use
kaggle competitions download -c <competition_name> -f <filename> -p <path>
5.上交代码/预测结果
usage: kaggle competitions submit [-h] [-c COMPETITION] -f FILE -m MESSAGE
[-q]
required arguments:
-f FILE, --file FILE File for upload (full path)
-m MESSAGE, --message MESSAGE
Message describing this submission
optional arguments:
-h, --help show this help message and exit
-c COMPETITION, --competition COMPETITION
Competition URL suffix (use "kaggle competitions list" to show options)
If empty, the default competition will be used (use "kaggle config set competition")"
-q, --quiet Suppress printing information about download progress
eg:
kaggle competitions submit -c diabetic-retinopathy-detection -f sample_submission_favorita.csv.7z -m "My submission message"
6.评测
数据竞赛的评测和信息学竞赛的还是有差异,在Titanic数据中,一天只能上交10次
7.根据评测结果调整模型
8.赛后分享
以下是本次kaggle的过程
0.前期准备
注册账号,搭建开发环境,下载第三方库等工作.
1.下载数据
用指令把Titanic竞赛的数据下载到本地
2.分析背景
分析应用的背景,对问题有个感性的认知,确认问题的类型和适合的算法.
- 这次的问题是一个典型的分类问题,需要根据Titanic上面人的特征去predict其获救或者死亡,适合用决策树分类器解决问题.
- 引进pandas处理数据
- 引进plt做可视化
3.探索数据
探索数据的特征,对问题逐渐开始理性了解,去考虑数据的特征等问题.
*好像pandas里面内置了一些对csv的处理文件但是一定要注意
- 路径不要中文啊喂
- 路径串前面加r表示raw input
读入表格之后可以看表头
注意classifier的分类问题中,要把非数字的要处理的feature转化成数字,这应该在本阶段进行观察
4.数据预处理
(1)特征选择:剔除关联度小的/缺失太多的特征
- Ticket,Name影响不大,直接剔除
- Cabin缺失太多,直接剔除
(2)补充缺失值
均值\中位数\极值\0
- 太少的缺失直接drop整行掉
- 非数值化的特征要对其数值化
- 查看特征可以取列,调用unique()方法
- 用lambda表达式让多分类转化成数值(不超过10),注意这样的转化不能用在序数上面.如收入0-1-2对应低-中-高,但是一个不是另一个的两倍
- 可以直接把True/False类型转化成int
(3)分离关键特征
- 分理出和,然后分为训练集,测试集并且重新编号
5.开始线下模拟
- 实例化分类器
- 训练模型
- 求出score
6.线下模型进行改进
- 交叉验证
- 调参&剪枝
- 画学习曲线观察参数,防止过拟合.
- 万一用了网格学习那可要要跑一段时间
7.线上评测
8.改进算法,继续提交
9.赛后分享