Kaggle介绍
虽然比不上Gayhub作为全球最大同性交友平台的地位,但是Kaggle也是一个著名的供机器学习爱好者交流的平台。Kaggle2017年被谷歌收购,在数据科学领域方面,与机器学习、深度学习结合的更加紧密,由于这篇文章仅仅介绍Getting Started级别的内容,所以可以作为入门教程、或一般科普文章观看。
比赛数据
数据下载
直接下载
Kaggle官方提供的数据下载既可以通过Data标签下的Download All直接下载:
API下载
也可以通过官方提供的API工具:
!pip install kaggle
这个方法需要进入个人账号页面获取API Token:
下载kaggle.json之后,放在用户目录下.kaggle文件夹即可使用kaggle命令行工具。
!kaggle competitions download -c house-prices-advanced-regression-techniques
!unzip house-prices-advanced-regression-techniques.zip
Downloading house-prices-advanced-regression-techniques.zip to /home/magus/licsber-workspace/learn/jg/kaggle/house-prices-advanced-regression-techniques
100%|█████████████████████████████████████████| 199k/199k [00:01<00:00, 133kB/s]
100%|█████████████████████████████████████████| 199k/199k [00:01<00:00, 117kB/s]
Archive: house-prices-advanced-regression-techniques.zip
inflating: data_description.txt
inflating: sample_submission.csv
inflating: test.csv
inflating: train.csv
Kaggle文件解释
test.csv
一开始没弄懂训练集和测试集的意思,仔细查看了一下test.csv之后发现里面好像只有特征、没有标签(其实自己尝试concat的时候报了个warning,然后开始找的原因):
FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.
To accept the future behavior, pass 'sort=False'.
To retain the current behavior and silence the warning, pass 'sort=True'.
上网搜了一下发现,Kaggle给的测试集是要给出结果的输入数据,而正常训练过程中用的测试集应该叫做验证集,这个需要我们手动从训练集里分割,或者采用交叉验证的方法,具体看我前文讲述的K折交叉验证。
sample_submission.csv
这个就是我们要提交的文件submission.csv的示例,注意生成的时候需要按照这个格式就行了。另外Kaggle有private LB和public LB之分,公开的就是我们看到的那个排行榜,另外,排行榜有可能仅参考了单次提交的一部分数据,因此完全按照public优化模型有可能导致在private上泛化效果并不出色,不过这个成绩也是一个重要的参考。
train.csv和data_description.txt
这个就没啥好说的了,训练集和数据解释。
读取数据集
待续