Kaggle适合初学者通过实践项目入门人工智能和机器学习。它会给我们一些题目,基于题目我们可以下载数据,上传自己的代码、结果等,还可以查看其它学习成员的代码以供相互学习。
本文则一步步展示学习其一个课程:Titanic(泰坦尼克)中根据已有的数据推测旅客是否幸存。
首先打开专项学习地址:https://www.kaggle.com/competitions/titanic/overview
项目说明
在此项目中,kaggle会提供部分Titanic数据(称为训练数据),包括乘客是否幸存,以及乘客的属性信息:姓名、性别、年龄、等一些基本的信息。而我们的目标则是:编写代码处理这些数据,最终达到通过乘客的属性来推断出乘客是否幸存。
当编写的代码稳定性,则开始使用kaggle给出的另外一部分数据(称为测试数据),这些数据并不包括乘客是否幸存的信息,仅包括乘客的属性信息。将我们编写的代码作用于测试数据上,最终将得到一份推断乘客是否幸存的结果。
最终将这份推断结果上传到kaggle,kaggle则会出我们对测试数据最终推断结果的正确率,正确率越高说明我们的代码写的越精准。
在实际的学习入门过程中,核心的算法往往都有大牛写好了,我们需要做的是根据实际情况设置好参数,进行调用即可。
学习示例
如果你也是刚刚接触机器学习,那们我感觉更多的应该是多学习大牛的示例代码,比如我们点击code选项卡后,则可以在很多优秀的代码供我们学习:
第一条给出了热度最高的,点击后则可以查看她做的笔记以及书写的代码。在参考其学习的基础,我们还轻松的创建自己的学习环境:
在线的学习环境运行虽然有一点点慢,但是对于初学者而言足够的友好。
接下来的便是参考更多的code,理解更多的code,尝试运行更多的code,最终将算法的思路掌握到自己的脑海里。
再接下来就是学习稍微深一点的,然后循序渐近,最终达到熟练应用人工智能及机器学习的目的。
本地安装
如果有一定的开发基础,同时手上还有相应不错的计算资源的话,则推荐考虑本地安装。本文基于macos(arm64)来展来本地安装的推荐方案。
Conda
虽然macos原生的支持python,但是python的多版本管理一直让人诟病。而conda则是笔者认为众多环境管理中优秀的一员。
Conda又被官方称为Miniconda,相对于Ananaconda它的确足够mini了。
安装参考官方文档:https://docs.conda.io/projects/conda/en/stable/user-guide/install/macos.html
需要注意的是,安装的过程会下载一些安装包,而这可能需要我们提前解决好网络问题,否则将导致下载失败。
当然了,如果你愿安装更傻瓜更合面的Ananaconda也是完全可以的。
创建环境
Conda安装完成后,首先使用其创建一个固定3.9版本,名称起为kaggle的环境:
conda create -n kaggle python=3.9
环境创建后,使用如下命令来启用(激活)环境:
(base) panjie@panjiedacStudio kaggle % conda activate kaggle
(kaggle) panjie@panjiedacStudio kaggle % python --version
Python 3.9.21
此时当前的shell已经处于conda为我们创建的python 3.9环境中了
数据下载
首先,我们需要进行 Kaggle 账号的注册及登录,此过程比较简单,略过。
网页下载
在data选项卡下向下滚轮,在数据区域则可找到下载按钮,点击即可快速完成文件下载。
kaggle命令下载
在 Kaggle 中,数据是可以通过 kaggle 来下载的,而 kaggle 则是ptyhon下的一个包,可以通过pip进行安装:
python -m pip install kaggle
kaggle安装完成后,为了使其能够正常的与 Kaggle 官方服务器进行交互,还需要为其下载对应的配置文件,在进行登录的前提下,打开账号设置 https://www.kaggle.com/settings/account。找到API -> Create New Token:
再点击OK,则会创建了一个新的token,同时token的信息会自动弹出下载界面,我们将其下载到 ~/.kaggle/
文件夹中,比如:~/.kaggle/kaggle.json
同时为了安全起见Kaggle官方建议我们将kaggle的权限设置为600: chmod 600 ~/.kaggle/kaggle.json
完成kaggle.json
的下载工作后,便可以来到数据界面https://www.kaggle.com/competitions/titanic/data 进行数据下载了:
点击复制命令,并在Terminal中执行:
(base) panjie@panjiedacStudio kaggle % kaggle competitions download -c titanic
Downloading titanic.zip to /Users/panjie/study/kaggle
100%|███████████████████████████████████████████████████████████████████| 34.1k/34.1k [00:00<00:00, 90.2kB/s]
100%|███████████████████████████████████████████████████████████████████| 34.1k/34.1k [00:00<00:00, 90.0kB/s]
解压刚刚下载的titanic.zip,则得到3个csv数据文件:
(base) panjie@panjiedacStudio kaggle % ls
gender_submission.csv test.csv train.csv
文件说明
其中:
- train.csv 训练数据,我们后期的主要工作会围绕它展开
- test.csv 测试数据,训练完成后,我们使用该文件进行测试,以检验我们的训练成果
- gender_submission.csv 测试结果对应的真实存活率数值,用它来评估我们算法的准确性
本地编程
在激活conda环境的前提下,使用python -m pip install numpy
以及 python -m pip install pandas
安装两个基于包 numpy 以及 pandas 后
,打开自己喜欢的IDE编程工具,编辑文件初始化内容:
# This Python 3 environment comes with many helpful analytics libraries installed
# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python
# For example, here's several helpful packages to load
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import os
for dirname, _, filenames in os.walk('./'): # ➀
for filename in filenames:
print(os.path.join(dirname, filename))
- ➀ 将此处目录的位置替换为下载的titanic数据的文件夹位置
最后执行:python titanic.py
,本地的初步环境便搭建完成了。
正式学习
最后便是参考 https://www.kaggle.com/code/alexisbcook/titanic-tutorial 中的教程,读代码,理解代码,敲代码(不要复制),运行代码,调试代码,最终完成自己的作品。
在学习的道路上,只有出发与未出发,没有早晚之分。愿早日出发,旅程顺利!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。