你可能听说过Kaggle数据科学竞赛,但你知道Kaggle还有许多其他功能,可以帮助你完成机器学习项目吗?对于为机器学习项目寻找数据集的人,Kaggle允许你访问别人的公共数据集,并共享你自己的数据集。对于那些希望构建和训练自己的机器学习模型的人,Kaggle还提供了浏览器上notebook开发环境和一些免费的GPU时长。你也可以查看其他人的公开的notebook!
除了网站之外,Kaggle还有一个命令行界面(CLI),你可以在命令行中使用它来访问和下载数据集。
概述
本博客分为五个部分;它们是:
- Kaggle是什么?
- 设置Kaggle notebook
- 在kaggle中使用 gpu / tpu
- 使用Kaggle数据集
- Kaggle CLI工具
Kaggle是什么?
Kaggle最出名的可能是它主办的数据科学比赛,其中一些比赛提供5位数的奖金池,有数百支队伍参加。除了这些比赛,Kaggle还允许用户发布和搜索数据集,这些数据集可以用于他们的机器学习项目。要使用这些数据集,您可以在您的浏览器或Kaggle的公共API中使用Kaggle notebook下载他们的数据集,然后用于机器学习项目。
除此之外,Kaggle还提供了一些课程和一个讨论页面,让你了解更多关于机器学习的知识,并与其他机器学习从业者交流!
设置Kaggle Notebook
要开始使用Kaggle Notebooks,需要使用谷歌帐户或使用您的电子邮件创建一个Kaggle帐户。
然后,进入“Code”页面。
你可以看到你自己的notebooks,也可以看到别人公开的notebooks。要创建自己的笔记本,点击“New Notebook”。
这将创建一个新的notebook,它看起来像一个Jupyter notebook,有许多类似的命令和快捷方式。
您还可以通过转到File ->Editor Type
在笔记本编辑器和脚本编辑器之间进行切换。
将编辑器类型改为script显示如下:
在Kaggle中使用 gpu / tpu
谁不喜欢机器学习项目的免费GPU呢?gpu可以极大地加速机器学习模型的训练和推理,尤其是深度学习模型。
Kaggle提供了一些免费的gpu和tpu分配,您可以将它们用于您的项目。在撰写本文时,在用电话号码验证您的帐户后,gpu每周可用30小时,tpu每周可用20小时。
如果想在笔记本电脑上安装加速器,请访问Settings ▷ Environment ▷ Preferences.
您将被要求用电话号码验证您的帐户。
然后这一页列出了你剩下的可用量,并提到打开gpu会减少可用的cpu数量,所以这可能只是在用神经网络进行训练/推理时的一个好主意。
Kaggle Notebook使用Kaggle数据集
机器学习项目是渴求数据的怪物,为我们当前的项目寻找数据集或寻找数据集来启动新项目总是一件苦差事。幸运的是,Kaggle有一个丰富的数据集,由用户和比赛贡献。对于为当前机器学习项目寻找数据或为项目寻找新想法的人来说,这些数据集可是一个宝库。
让我们探索如何将这些数据集添加到我们的Kaggle笔记本。
首先,单击右边栏的Add data
。
这时会出现一个窗口,显示一些公开可用的数据集,你也可以上传自己的数据集,用来开发。
在本博客中,我将使用经典的titanic
数据集作为我的例子,你可以通过在窗口右上角的搜索栏中输入你的搜索词来找到它。
之后,该数据集就可以供notebook使用了。要访问这些文件,请查看文件的路径并添加../input/{path}
。例如,titanic数据集的文件路径是:
../input/titanic/train_and_test2.csv
执行notebook第一个单元格的代码,就可以显示所有数据的路径
在notebook中,我们可以使用以下方法读取数据:
import pandaspandas.read_csv("../input/titanic/train_and_test2.csv")
利用Kaggle CLI工具使用Kaggle数据集
Kaggle也有一个带有CLI工具的公共API,我们可以使用它来下载数据集,与竞赛交互,以及更多。我们将研究如何使用CLI工具设置和下载Kaggle数据集。
首先,使用以下命令安装CLI工具:
pip install kaggle
对于Mac/Linux用户,你可能需要:
pip install --user kaggle
然后,您需要为身份验证创建一个API令牌。进入Kaggle的网页,点击右上角的个人资料图标,进入Account
。
从那里,向下滚动创建新的API令牌:
这将下载一个kaggle.json
。您将使用Kaggle CLI
工具对自己进行身份验证。你必须把它放在正确的位置,它才能工作。对于基于Linux/Mac/ unix的
操作系统,这应该放在~/.kaggle/kaggle
。对于Windows用户,它应该放在C:\Users\<Windows-username>\.kaggle\kaggle.json.
。
把它放在错误的位置并在命令行中调用kaggle
将会给出一个错误:
OSError: Could not find kaggle.json. Make sure it’s location in … Or use the environment method
现在,让我们开始下载这些数据集吧!
要使用搜索词搜索数据集,例如,titanic,我们可以使用:
kaggle datasets list -s titanic
根据搜索,我们得到:
kaggle datasets list -s titanic
ref title size lastUpdated downloadCount voteCount usabilityRating
----------------------------------------------------------- --------------------------------------------- ----- ------------------- ------------- --------- ---------------
datasets/heptapod/titanic Titanic 11KB 2017-05-16 08:14:22 37681 739 0.7058824
datasets/azeembootwala/titanic Titanic 12KB 2017-06-05 12:14:37 13104 145 0.8235294
datasets/brendan45774/test-file Titanic dataset 11KB 2021-12-02 16:11:42 19348 251 1.0
datasets/rahulsah06/titanic Titanic 34KB 2019-09-16 14:43:23 3619 43 0.6764706
datasets/prkukunoor/TitanicDataset Titanic 135KB 2017-01-03 22:01:13 4719 24 0.5882353
datasets/hesh97/titanicdataset-traincsv Titanic-Dataset (train.csv) 22KB 2018-02-02 04:51:06 54111 377 0.4117647
datasets/fossouodonald/titaniccsv Titanic csv 1KB 2016-11-07 09:44:58 8615 50 0.5882353
datasets/broaniki/titanic titanic 717KB 2018-01-30 04:08:45 8004 128 0.1764706
datasets/pavlofesenko/titanic-extended Titanic extended dataset (Kaggle + Wikipedia) 134KB 2019-03-06 09:53:24 8779 130 0.9411765
datasets/jamesleslie/titanic-cleaned-data Titanic: cleaned data 36KB 2018-11-21 11:50:18 4846 53 0.7647059
datasets/kittisaks/testtitanic test titanic 22KB 2017-03-13 15:13:12 1658 32 0.64705884
datasets/yasserh/titanic-dataset Titanic Dataset 22KB 2021-12-24 14:53:06 1011 25 1.0
datasets/abhinavralhan/titanic titanic 22KB 2017-07-30 11:07:55 628 11 0.8235294
datasets/cities/titanic123 Titanic Dataset Analysis 22KB 2017-02-07 23:15:54 1585 29 0.5294118
datasets/brendan45774/gender-submisson Titanic: all ones csv file 942B 2021-02-12 19:18:32 459 34 0.9411765
datasets/harunshimanto/titanic-solution-for-beginners-guide Titanic Solution for Beginner's Guide 34KB 2018-03-12 17:47:06 1444 21 0.7058824
datasets/ibrahimelsayed182/titanic-dataset Titanic dataset 6KB 2022-01-27 07:41:54 334 8 1.0
datasets/sureshbhusare/titanic-dataset-from-kaggle Titanic DataSet from Kaggle 33KB 2017-10-12 04:49:39 2688 27 0.4117647
datasets/shuofxz/titanic-machine-learning-from-disaster Titanic: Machine Learning from Disaster 33KB 2017-10-15 10:05:34 3867 55 0.29411766
datasets/vinicius150987/titanic3 The Complete Titanic Dataset 277KB 2020-01-04 18:24:11 1459 23 0.64705884
要下载该列表中的第一个数据集,我们可以使用:
kaggle datasets download -d heptapod/titanic --unzip
使用一个Jupyter Notebook来读取文件,类似于Kaggle Notebook的例子,我们得到:
参考
Kaggle: https://www.kaggle.com
Kaggle API文档:https://www.kaggle.com/docs/api