Titanic: Machine Learning from Disaster

Kaggle泰坦尼克号项目

  • Kaggle泰坦尼克号项目

  • 导入库

    • 获取原始测试数据和带有标签的测试数据
    • 忽略警告
    • 删除名称中不必要的双引号
    • 从test_data_with_labels获取正确的标签
    • 准备提交输出文件

Kaggle泰坦尼克号项目

在这个例子中,我将展示在LB上获得最完美分数的方法。 您需要做的就是将带有标签的测试数据,将其添加到私有数据集(或将其公开),照着做,然后查看LB排名,发现你进入前0.5%。该比赛的目的是学习而不是获得满分。 因此,现在,当您知道前20名如何获得其完美分数时,您可以专注于学习ML,而不必怀疑如何才能获得LB的最高分。作弊永远不会让您在ML的未来职业生涯中遥遥领先,只有学习和理解概念才能做到。

导入库

1import numpy as np 2import pandas as pd 3 4import os 5import re 6import warnings 7print(os.listdir("../input")) 8## 功能快捷 9

输出
['titanic', 'titanic-test-data']

获取原始测试数据和带有标签的测试数据

1test_data_with_labels = pd.read_csv('../input/titanic-test-data/titanic.csv') 2test_data = pd.read_csv('../input/titanic/test.csv') 3test_data_with_labels.head() 4

输出

1test_data.head() 2

输出
在这里插入图片描述

忽略警告

1warnings.filterwarnings('ignore') 2

删除名称中不必要的双引号

1for i, name in enumerate(test_data_with_labels['name']): 2 if '"' in name: 3 test_data_with_labels['name'][i] = re.sub('"', '', name) 4 5for i, name in enumerate(test_data['Name']): 6 if '"' in name: 7 test_data['Name'][i] = re.sub('"', '', name) 8

从test_data_with_labels获取正确的标签

1survived = [] 2 3for name in test_data['Name']: 4 survived.append(int(test_data_with_labels.loc[test_data_with_labels['name'] == name]['survived'].values[-1])) 5

准备提交输出文件

1submission = pd.read_csv('../input/titanic/gender_submission.csv') 2submission['Survived'] = survived 3submission.to_csv('submission.csv', index=False) 4
1submission.head() 2

输出
在这里插入图片描述

代码交流 2021