Kaggle介绍

虽然比不上Gayhub作为全球最大同性交友平台的地位,但是Kaggle也是一个著名的供机器学习爱好者交流的平台。Kaggle2017年被谷歌收购,在数据科学领域方面,与机器学习、深度学习结合的更加紧密,由于这篇文章仅仅介绍Getting Started级别的内容,所以可以作为入门教程、或一般科普文章观看。

比赛数据

数据下载

直接下载

Kaggle官方提供的数据下载既可以通过Data标签下的Download All直接下载:
image.png

API下载

也可以通过官方提供的API工具:

  1. !pip install kaggle

这个方法需要进入个人账号页面获取API Token:
image.png

下载kaggle.json之后,放在用户目录下.kaggle文件夹即可使用kaggle命令行工具。

  1. !kaggle competitions download -c house-prices-advanced-regression-techniques
  2. !unzip house-prices-advanced-regression-techniques.zip
  1. Downloading house-prices-advanced-regression-techniques.zip to /home/magus/licsber-workspace/learn/jg/kaggle/house-prices-advanced-regression-techniques
  2. 100%|█████████████████████████████████████████| 199k/199k [00:01<00:00, 133kB/s]
  3. 100%|█████████████████████████████████████████| 199k/199k [00:01<00:00, 117kB/s]
  4. Archive: house-prices-advanced-regression-techniques.zip
  5. inflating: data_description.txt
  6. inflating: sample_submission.csv
  7. inflating: test.csv
  8. inflating: train.csv

Kaggle文件解释

test.csv

一开始没弄懂训练集和测试集的意思,仔细查看了一下test.csv之后发现里面好像只有特征、没有标签(其实自己尝试concat的时候报了个warning,然后开始找的原因):

  1. FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
  2. of pandas will change to not sort by default.
  3. To accept the future behavior, pass 'sort=False'.
  4. 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

这个就没啥好说的了,训练集和数据解释。

读取数据集

待续