kaggle新手赛泰坦尼克之灾

本文详细介绍了作者参加kaggle泰坦尼克生存预测新手赛的完整流程,包括数据导入、数据分析、特征工程、模型选择以及模型优化。通过分析不同特征与生存率的关系,如乘客等级、性别、年龄、登港港口等,构建了新的特征,并使用随机森林模型获得了高分。
摘要由CSDN通过智能技术生成

kaggle泰坦尼克之灾比赛经验分享



本人从新手开始学习数据挖掘一段时间,然后选择了这个kaggle新手赛泰坦尼克之灾来锻炼思路以及步骤。

参加kaggle比赛的思路流程步骤,网络上有很多大神写的教程都不错,可以参考知乎大神一篇文章:

https://zhuanlan.zhihu.com/p/26820998

此次比赛的过程参考了https://zhuanlan.zhihu.com/p/30538352这篇文章的部分代码以及思路。


整个代码过程步骤:

一.导入数据包与数据集 

二.数据分析

1.总体预览:了解每列数据的含义,数据的格式等。

2.数据初步分析,使用统计学与绘图:初步了解数据之间的相关性,为构造特征工程以及模型建立做准备。 

三.特征工程

1.根据业务,常识,以及第二步的数据分析构造特征工程。

2.将特征转换为模型可以辨别的类型(如处理缺失值,处理文本进行等) 。

四.模型选择

1.根据目标函数确定学习类型,是无监督学习还是监督学习,是分类问题还是回归问题等。

2.比较各个模型的分数,然后取效果较好的模型作为基础模型。

3.经过多个模型的测试以及模型融合测试,目前得分最高的事随机森林。

五.修改特征和模型参数

1.可以通过添加或者修改特征,提高模型的上限。

 2.通过修改模型的参数,是模型逼近上限。

一.导入数据包与数据集

# 导入相关数据包
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")

二.数据分析

1.总体预览:了解每列数据的含义,数据的格式等


train.head(5)

PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
0 1 0 3 Braund, Mr. Owen Harris male 22.0 1 0 A/5 21171 7.2500 NaN S
1 2 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 0 PC 17599 71.2833 C85 C
2 3 1 3 Heikkinen, Miss. Laina female 26.0 0 0 STON/O2. 3101282 7.9250 NaN S
3 4 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 0 113803 53.1000 C123 S
4 5 0 3 Allen, Mr. William Henry male 35.0 0 0 373450 8.0500 NaN S

#返回每列列名,该列非nan值个数,以及该列类型
train.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB

test.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 418 entries, 0 to 417
Data columns (total 11 columns):
PassengerId    418 non-null int64
Pclass         418 non-null int64
Name           418 non-null object
Sex            418 non-null object
Age            332 non-null float64
SibSp          418 non-null int64
Parch          418 non-null int64
Ticket         418 non-null object
Fare           417 non-null float64
Cabin          91 non-null object
Embarked       418 non-null object
dtypes: float64(2), int64(4), object(5)
memory usage: 36.0+ KB

#返回数值型变量的统计量
train.describe()


PassengerId Survived Pclass Age SibSp Parch

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值