入坑kaggle第四天- Titanic - Machine Learning from Disaster模型优化(进阶10%)

本文介绍了作者在kaggle Titanic竞赛中进行模型优化的经验,强调了数据观察的重要性。通过四种方法详细分析数据,探讨如何利用Name特征预测缺失的Age,并提出Cabin数据补全的可能性。确定使用RandomForestClassifier作为最佳模型,目前最优参数为n_estimators=50, max_depth=7,但面临Fare和Age预测以及过拟合的问题。" 137534762,1299208,C++实现:华为OD机试单词倒排,"['华为od', 'C++', '开发语言']
摘要由CSDN通过智能技术生成

由于昨天毫无目标的调整参数, 很快用完了kaggle的十次提交机会。
以后, 需要有目标的提交, 防止浪费提交次数。

1 如何观察数据

1.1 通过四个方法, 观察数据

method 1:

import pandas as pd
df = pd.read_csv('titanic/train.csv')

在这里插入图片描述
method 2:

df.shape

(891, 12)

method 3:

df.count()

PassengerId 891
Survived 891
Pclass 891
Name 891
Sex 891
Age 714
SibSp 891
Parch 891
Ticket 891
Fare 891
Cabin 204
Embarked 889
dtype: int64

Survived: label
features: 10 个
Pclass 891
Name 891
Sex 891
Age 714
SibSp 891
Parch 891
Ticket 891
Fare 891
Cabin 204
Embarked 889
method 4:
df.describe()
在这里插入图片描述

本来认为, 有些feature是没用的, 比如, Name, 其实未必, 为了达到更高的分数,有必要分析。重要的如何充分的利用原始数据, 对没有的数据得到最好的预测, 比如如果有人问你的属相, 其实就是问你年龄, Age: 数据中只有714个, 但昨天的分析中, 是很重要的参数, 如何预测年龄, 如果取平均值, 未必是最好的结果, 但通过Name是可以预测的,总之一定要尽可能挖掘数据, 得到最多最可靠的数据, 才能得到理想的结果。Cabin是否可以数据补全, 也需要考虑。

2 确定模型

根据昨天的对比, 模型最好的是RandomForestClassifier

from sklearn.ensemble import RandomForestClassifier

def clean_data(data): # transform text to number for machine leaarning
    data['Fare'] = data[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值