整体流程
1.数据读取
2.特征理解分析
3.数据清洗与预处理
4.建立模型
准备工作
第一步:理解数据,分析每个字段的意思

PassengerID 乘客唯一编号(无关)
Pclass 船舱等级
Survived 是否获救
Sex 二值属性(female、male)
SibSp 一起上船的兄弟姐妹的个数
Parch 一起上船的老人和孩子的数量
Ticket 船票的编号(可能无关)
Fare 船票的价格
Cabin 住的船舱的编号(可能无关,不知道船舱和具体位置分布,是否靠窗?)
Embarked 在哪个码头上岸?SCQ码头(可能无关,做后这个名仕有关的,因为有的码头登上的有钱人比较多,他们购买一二等舱船票,或者登船的性别不均衡,而船舱等级和性别影响最后的获救几率,所以这个特征不能丢失)
第二步:导入相关的库:
1.numpy科学计算库
2.pandas数据分析处理库
3.matplotlib可视化库
4.seaborn可视化库,封装在matplotlib基础之上
5.scikit-learn机器学习库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#过滤掉警告
import warnings
warnings.filterwarnings("ignore")
#指定画图风格
plt.style.use("fivethirtyeight")
%matplotlib inline
数据分析操作
1.读取数据
data = pd.read_csv("train-Copy1.csv")
data.head()

默认显示前5行的数据,可以在head()的括号里面指定参数
2.统计每列缺失值的个数
data.isnull().sum()

可以看到Age的缺失值比较少(相对于这个数据量来说),可以进行缺失值填充;而Cabin这一列的缺失值太多了,有根据上面的分析跟是否获救好像没什么关系,所以直接将这一列扔掉
3.整体看看数据的一些统计值
data.describe()

这里过滤掉了一些有字符串数值的属性,因为字符串是不能计算平均值这些统计指标的。
4.绘图查看获救的比例
f, ax = plt.subplots(1, 2, figsize = (18, 8))
data['Survived'].value_counts().plot.pie(explode=[0, 0.1], autopct = '%1.1f%%', ax = ax[0],shadow = True)
ax[0].set_title('Survived')
ax[0].set_ylabel('')
sns.countplot('Survived', data = data, ax = ax[1])
ax[1].set_title('Survived')
plt.show()



被折叠的 条评论
为什么被折叠?



