Kaggle案例(一)Titanic: Machine Learning from Disaste
admin
2023-07-08 20:25:09
0次

1. 案例简介

Titanic 案例是Kaggle 入门案例,链接地址https://www.kaggle.com/c/titanic 。以下是摘自官网上的描述信息:
Kaggle案例(一)Titanic: Machine Learning from Disaste

2. 分析数据

2.1 读取数据

加载训练数据

data_train = pd.read_csv("./input/train.csv")

预览数据

data_train.head()

Kaggle案例(一)Titanic: Machine Learning from Disaste
训练集数据说明:
Kaggle案例(一)Titanic: Machine Learning from Disaste

查看数据集信息

data_train.info()

Kaggle案例(一)Titanic: Machine Learning from Disaste

查看有缺失值的列

ata_train.columns[data_train.isnull().any()].tolist()

Kaggle案例(一)Titanic: Machine Learning from Disaste

计算缺失数

age_null_count = data_train.Age.isnull().sum()
cabin_null_count = data_train.Cabin.isnull().sum()
embarked_null_count = data_train.Embarked.isnull().sum()
print('Age列缺失:%s' %age_null_count)
print('Cabin列缺失:%s' %cabin_null_count)
print('Embarked列缺失:%s' %embarked_null_count)

Kaggle案例(一)Titanic: Machine Learning from Disaste

2.2 处理数据

Age列缺失值
使用Age列中位数填充缺失值

data_train.Age.fillna(data_train.Age.median())

Cabin列缺失值
Cabin列数据缺失条目较多,计算Survived列与Cabin列数据关系

Survived_cabin = data_train.Survived[pd.notnull(data_train.Cabin)].value_counts()
print(Survived_cabin)

Kaggle案例(一)Titanic: Machine Learning from Disaste

Survived_nocabin = data_train.Survived[pd.isnull(data_train.Cabin)].value_counts()
print(Survived_nocabin)

Kaggle案例(一)Titanic: Machine Learning from Disaste

可以发现有Cabin信息的乘客获救几率要大。将Cabin列数据作为一个分类标签处理

Embarked列缺失值
使用Embarked列众数填充缺失值

data_train.Embarked.fillna(data_train.Embarked.mode())

2.3 数据展现

获救人数情况

# 绘制获救人数情况
data_train.Survived.value_counts().plot(kind='bar')
plt.title("获救情况")
plt.xticks([0,1], ["未获救","获救"], rotation=0)
plt.ylabel("人数")

Kaggle案例(一)Titanic: Machine Learning from Disaste
各等级的乘客年龄分布

data_train.Age[data_train.Pclass == 1].plot(kind='kde')   
data_train.Age[data_train.Pclass == 2].plot(kind='kde')
data_train.Age[data_train.Pclass == 3].plot(kind='kde')
plt.xlabel("年龄")
plt.ylabel("密度") 
plt.title("各等级的乘客年龄分布")
plt.legend(('一等舱', '二等舱','三等舱'),loc='best')

Kaggle案例(一)Titanic: Machine Learning from Disaste

各乘客等级的获救情况

Survived_0 = data_train.Pclass[data_train.Survived == 0].value_counts()
Survived_1 = data_train.Pclass[data_train.Survived == 1].value_counts()
df=pd.DataFrame({'获救':Survived_1, '未获救':Survived_0})
df.plot(kind='bar', stacked=True)
plt.title("船舱等级的获救情况")
plt.xlabel("船舱等级") 
plt.ylabel("人数") 
plt.xticks(rotation=0)

Kaggle案例(一)Titanic: Machine Learning from Disaste

绘制登船口岸上船人数

data_train.Embarked.value_counts().plot(kind='bar')
plt.title("各登船口岸上船人数")
plt.ylabel("人数")
plt.xticks(rotation=0)

Kaggle案例(一)Titanic: Machine Learning from Disaste

各登录港口的获救情况

Survived_0 = data_train.Embarked[data_train.Survived == 0].value_counts()
Survived_1 = data_train.Embarked[data_train.Survived == 1].value_counts()
df=pd.DataFrame({'获救':Survived_1, '未获救':Survived_0})
df.plot(kind='bar', stacked=True)
plt.title("登陆港口乘客的获救情况")
plt.xlabel("登陆港口") 
plt.ylabel("人数") 
plt.xticks(rotation=0)

Kaggle案例(一)Titanic: Machine Learning from Disaste

各性别的获救情况

Survived_m = data_train.Survived[data_train.Sex == 'male'].value_counts()
Survived_f = data_train.Survived[data_train.Sex == 'female'].value_counts()
df=pd.DataFrame({'男性':Survived_m, '女性':Survived_f})
df.plot(kind='bar', stacked=True)
plt.title("男女性别获救情况")
plt.xlabel("性别") 
plt.ylabel("人数")
plt.xticks([0,1], ["未获救","获救"], rotation=0)

Kaggle案例(一)Titanic: Machine Learning from Disaste

SibSp字段获救情况

SibSp_0 = data_train.SibSp[data_train.Survived == 0].value_counts()
SibSp_1 = data_train.SibSp[data_train.Survived == 1].value_counts()
SibSp_df=pd.DataFrame({'未获救':SibSp_0, '获救':SibSp_1})
SibSp_df.plot(kind='bar',stacked=True)
plt.title("堂兄弟/妹个数获救情况")
plt.xlabel("堂兄弟/妹个数") 
plt.ylabel("人数")
plt.xticks(rotation=0)

Kaggle案例(一)Titanic: Machine Learning from Disaste

Parch字段获救情况

Parch_0 = data_train.Parch[data_train.Survived == 0].value_counts()
Parch_1 = data_train.Parch[data_train.Survived == 1].value_counts()
Parch_df=pd.DataFrame({'未获救':Parch_0, '获救':Parch_1})
Parch_df.plot(kind='bar',stacked=True)
plt.title("父母与小孩个数获救情况")
plt.xlabel("父母与小孩个数") 
plt.ylabel("人数")
plt.xticks(rotation=0)

Kaggle案例(一)Titanic: Machine Learning from Disaste

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...