应用kaggle进行机器学习项目开发

你可能听说过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进行机器学习项目开发_第1张图片
除此之外,Kaggle还提供了一些课程和一个讨论页面,让你了解更多关于机器学习的知识,并与其他机器学习从业者交流!

设置Kaggle Notebook

要开始使用Kaggle Notebooks,需要使用谷歌帐户或使用您的电子邮件创建一个Kaggle帐户。
然后,进入“Code”页面。
应用kaggle进行机器学习项目开发_第2张图片
你可以看到你自己的notebooks,也可以看到别人公开的notebooks。要创建自己的笔记本,点击“New Notebook”。

应用kaggle进行机器学习项目开发_第3张图片
这将创建一个新的notebook,它看起来像一个Jupyter notebook,有许多类似的命令和快捷方式。
应用kaggle进行机器学习项目开发_第4张图片
您还可以通过转到File ->Editor Type在笔记本编辑器和脚本编辑器之间进行切换。
应用kaggle进行机器学习项目开发_第5张图片
将编辑器类型改为script显示如下:
应用kaggle进行机器学习项目开发_第6张图片

在Kaggle中使用 gpu / tpu

谁不喜欢机器学习项目的免费GPU呢?gpu可以极大地加速机器学习模型的训练和推理,尤其是深度学习模型。

Kaggle提供了一些免费的gpu和tpu分配,您可以将它们用于您的项目。在撰写本文时,在用电话号码验证您的帐户后,gpu每周可用30小时,tpu每周可用20小时。

如果想在笔记本电脑上安装加速器,请访问Settings ▷ Environment ▷ Preferences.

应用kaggle进行机器学习项目开发_第7张图片
您将被要求用电话号码验证您的帐户。
应用kaggle进行机器学习项目开发_第8张图片
然后这一页列出了你剩下的可用量,并提到打开gpu会减少可用的cpu数量,所以这可能只是在用神经网络进行训练/推理时的一个好主意。
应用kaggle进行机器学习项目开发_第9张图片

Kaggle Notebook使用Kaggle数据集

机器学习项目是渴求数据的怪物,为我们当前的项目寻找数据集或寻找数据集来启动新项目总是一件苦差事。幸运的是,Kaggle有一个丰富的数据集,由用户和比赛贡献。对于为当前机器学习项目寻找数据或为项目寻找新想法的人来说,这些数据集可是一个宝库。

让我们探索如何将这些数据集添加到我们的Kaggle笔记本。

首先,单击右边栏的Add data
应用kaggle进行机器学习项目开发_第10张图片
这时会出现一个窗口,显示一些公开可用的数据集,你也可以上传自己的数据集,用来开发。
应用kaggle进行机器学习项目开发_第11张图片
在本博客中,我将使用经典的titanic数据集作为我的例子,你可以通过在窗口右上角的搜索栏中输入你的搜索词来找到它。
应用kaggle进行机器学习项目开发_第12张图片
之后,该数据集就可以供notebook使用了。要访问这些文件,请查看文件的路径并添加../input/{path}。例如,titanic数据集的文件路径是:

../input/titanic/train_and_test2.csv

执行notebook第一个单元格的代码,就可以显示所有数据的路径
应用kaggle进行机器学习项目开发_第13张图片

在notebook中,我们可以使用以下方法读取数据:

import pandas

pandas.read_csv("../input/titanic/train_and_test2.csv")

应用kaggle进行机器学习项目开发_第14张图片

利用Kaggle CLI工具使用Kaggle数据集

Kaggle也有一个带有CLI工具的公共API,我们可以使用它来下载数据集,与竞赛交互,以及更多。我们将研究如何使用CLI工具设置和下载Kaggle数据集。

首先,使用以下命令安装CLI工具:

pip install kaggle

对于Mac/Linux用户,你可能需要:

pip install --user kaggle

然后,您需要为身份验证创建一个API令牌。进入Kaggle的网页,点击右上角的个人资料图标,进入Account

应用kaggle进行机器学习项目开发_第15张图片
从那里,向下滚动创建新的API令牌:
应用kaggle进行机器学习项目开发_第16张图片

这将下载一个kaggle.json。您将使用Kaggle CLI工具对自己进行身份验证。你必须把它放在正确的位置,它才能工作。对于基于Linux/Mac/ unix的操作系统,这应该放在~/.kaggle/kaggle。对于Windows用户,它应该放在C:\Users\\.kaggle\kaggle.json.
应用kaggle进行机器学习项目开发_第17张图片

把它放在错误的位置并在命令行中调用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进行机器学习项目开发_第18张图片

参考

Kaggle: https://www.kaggle.com
Kaggle API文档:https://www.kaggle.com/docs/api

你可能感兴趣的:(数据分析,机器学习,python,人工智能)