Coggle 30 Days of ML(22年10月)


## Part1 内容介绍

在给大家分享知识的过程中,发现很多入门同学在学习竞赛都存在较多的问题:

  • 不知道Kaggle如何登录、注册和提交
  • 不知道如何分析数据、可视化数据
  • 不知道如何使用模型、选择模型

而上述问题都是一个合格算法工程师必备的,本月我们将组织一次推荐系统竞赛训练营活动,希望能够帮助大家入门数据竞赛。在活动中我们将布置具体竞赛任务,然后参与的同学们不断闯关完成,尽可能的帮助大家入门。

10月份的竞赛活动将以Kaggle Spaceship Titanic赛题展开。


## Part2 活动安排

  • 活动是免费学习活动,不会收取任何费用。
  • 请各位同学添加下面微信,并回复【竞赛学习】,即可参与。


## Part3 积分说明和奖励

为了激励各位同学完成的学习任务,将学习任务根据难度进行划分,并根据是否完成进行评分难度高中低的任务分别分数为3、2和1。在完成学习后(本次活动,截止10月31),将按照积分顺序进行评选 Top3 的学习者。

打卡链接:https://shimo.im/forms/Kjw4phUwT9gA96b4/fill

打卡可以写在一个地址,每次有新完成的可以重复提交打卡!

Top1的学习者将获得以下奖励

  • Coggle 竞赛专访机会
  • 《机器学习算法竞赛实战》

Top2-3的学习者将获得以下奖励

  • Coggle 周边福利
  • Coggle 竞赛专访机会

历史活动打卡链接,可以参考如下格式:

昵称 得分
Amihua 14
麻辣香郭 14
元白@ 14
无盐 10
明日之盛,昨日之俗 7
阿墨 4
大D 3
MD_o 3
是光。 1
困得睡不着
ka ka
🐯
Elaine
nigelnew73
阿鲁卡多
hinswhale
夜象复生
L.
noexp
没流量的雍老板
小邢的宽客梦
Survivor
宵宵
simula67
GotillaXKZ

## Part4 Spaceship Titanic

### 赛题介绍

欢迎来到 2912 年,您需要数据科学技能来解决宇宙之谜。我们收到了四光年外的信号,情况看起来不太妙。宇宙飞船泰坦尼克号是一个月前发射的星际客轮。船上有近 13,000 名乘客,这艘船开始了处女航,将太阳系的移民运送到围绕附近恒星运行的三颗新可居住的系外行星。

在绕过半人马座阿尔法星前往它的第一个目的地——炎热的巨蟹座 55 E 时,粗心的宇宙飞船泰坦尼克号与隐藏在尘埃云中的时空异常相撞。可悲的是,它遭遇了与 1000 年前同名的命运相似的命运。虽然船完好无损,但几乎有一半的乘客被运送到了异次元!

为了帮助救援人员和找回丢失的乘客,您面临的挑战是使用从飞船损坏的计算机系统中恢复的记录来预测哪些乘客被异常运送。

### 数据说明

在本次比赛中,您的任务是预测在泰坦尼克号飞船与时空异常相撞期间是否有乘客被运送到另一个维度。为了帮助你做出这些预测,你会得到一组从船上受损的计算机系统中恢复的个人记录。

文件说明:

  • train.csv - 大约三分之二 (~8700) 乘客的个人记录,用作训练数据。
  • test.csv - 剩余三分之一 (~4300) 乘客的个人记录,用作测试数据。您的任务是为该集合中的乘客预测已运输的值。
  • sample_submission.csv - 格式正确的提交文件。

字段说明:

  • PassengerId - 每位乘客的唯一 ID。每个 Id 采用 gggg_pp 的形式,其中 gggg 表示乘客旅行的组,pp 是他们在组中的编号。群体中的人通常是家庭成员,但并非总是如此。
  • HomePlanet - 乘客离开的星球,通常是他们的永久居住星球。
  • CryoSleep - 指示乘客是否选择在航行期间进入假死状态。处于低温睡眠状态的乘客被限制在他们的客舱内。
  • Cabin - 乘客入住的客舱编号。采用deck/num/side 形式,其中side 可以是P 代表左舷或S 代表右舷。
  • Destination - 乘客将要去的星球。
  • Age - 乘客的年龄。
  • VIP - 乘客在航程中是否支付了特殊的 VIP 服务费用。
  • RoomService、FoodCourt、ShoppingMall、Spa、VRDeck - 乘客在泰坦尼克号宇宙飞船的众多豪华设施中所支付的金额。
  • Name - 乘客的名字和姓氏。
  • Transported - 乘客是否被运送到另一个维度。这是目标,您要预测的列。

### 评估方式

评估方式:提交的内容是根据其分类准确度、预测标签正确的百分比来评估的。

### 提交方式

比赛提交格式为csv文件,格式如下:

PassengerId,Transported
0013_01,False
0018_01,False
0019_01,False
0021_01,False
etc.

### 学习打卡

任务名称 难度
任务1:比赛报名与尝试 低、1
任务2:比赛数据分析 中、2
任务3:验证集划分与树模型 中、2
任务4:特征工程入门 中、2
任务5:特征工程进阶 中、2
任务6:树模型进阶 中、2
任务7:多折训练与集成 高、3
  • 任务1:报名比赛

  • 任务2:比赛数据分析

    • 步骤1:使用pandas完成如下数据分析
      • 训练集和测试集的行数分别是多少?
      • 训练集中每列的类型是什么?
      • 训练集中标签是如何分布,与哪一个特征最相关?
      • 训练集中列缺失值如何分布的?
    • 步骤2:使用seaborn或matplotlib完成如下可视化
      • HomePlanet 与 Transported 的分布关系
      • CryoSleep 与 Transported 的分布关系
      • Cabin 与 Transported 的分布关系
      • Destination 与 Transported 的分布关系
      • Age 与 Transported 的分布关系
      • VIP 与 Transported 的分布关系
      • RoomService、FoodCourt、ShoppingMall、Spa、VRDeck 与 Transported 的分布关系
      • Name 与 Transported 的分布关系
    • 步骤3:根据上述分析结果,你找出什么规律,如什么类型的乘客更加容易被Transported?
  • 任务3:验证集划分与树模型

    • 步骤1:学习sklearn中的数据划分方法
    • 步骤2:导入sklearn中的树模型
    • 步骤3:训练集和测试集进行缺失值填充(数值列填充列均值,类别列填充众数)
  • 任务4:特征工程入门

    • 步骤1:学习特征工程基础
    • 步骤2:对类别字段分别进行onehot和labelencoder
    • 步骤3:使用分类树模型和Kfold验证onehot和labelencoder在验证集的精度。
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')
X = [['Male', 1], ['Female', 3], ['Female', 2]]

enc.fit(X)
enc.transform([['Female', 1], ['Male', 4]]).toarray()
import pandas as pd
df = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'],
                   'C': [1, 2, 3]})

pd.get_dummies(df, prefix=['col1', 'col2'])
  • 任务5:特征工程进阶

    • 步骤1:对所有类别字段进行target encoding
    • 步骤2:使用树模型的feature importance筛选top10特征。
    • 步骤3:使用筛选后的特征从新进行训练和验证,对比模型精度。
  • 任务6:高阶树模型

    • 步骤1:安装LightGBM,并学习基础的使用方法;
    • 步骤2:将训练集20%划分为验证集,使用LightGBM完成训练,精度是否有提高?
    • 步骤3:将步骤2预测的结果文件提交到比赛,截图分数;
    • 步骤4:尝试调节搜索LightGBM的参数;
    • 步骤5:将步骤4调参之后的模型从新训练,将最新预测的结果文件提交到比赛,截图分数;
  • 任务7:多折训练与集成

    • 步骤1:使用KFold完成数据划分;
    • 步骤2:使用StratifiedKFold完成数据划分;
    • 步骤3:使用StratifiedKFold配合LightGBM完成模型的训练和预测
    • 步骤4:在步骤3训练得到了多少个模型,对测试集多次预测,将最新预测的结果文件提交到比赛,截图分数;
    • 步骤5:使用交叉验证训练5个机器学习模型(svm、lr等),使用stacking完成集成,将最新预测的结果文件提交到比赛,截图分数;

### 学习资料



© 2019-2023 coggle.club 版权所有     京ICP备20022947    京公网安备 11030102010643号