监督学习应用--Titanic数据建模

本文通过Titanic数据集演示监督学习的过程,包括数据处理、模型训练与评估。利用Kaggle平台的数据,分析乘客特征与生存概率,采用逻辑回归进行建模,并通过交叉验证提高模型性能。
摘要由CSDN通过智能技术生成

监督学习建模流程

监督学习包括数据采集、数据处理、模型搭建及训练、模型测试、参数调优等阶段。这是一个不断反馈不断循环的过程。
这里写图片描述

本文我们利用Titanic数据进行建模,分析乘客各种信息与是否获救之间的规律,从来对我们的测试集进行预测。(是否获救就是标签,乘客其他信息就是特征。)
*数据来源*
Titanic数据是机器学习竞赛平台Kaggle平台入门最好的数据,记录了沉船的泰坦尼克各种乘客信息以及最终是否获救的情况。导入数据:

`df=pd.read_csv('../p1_demo/titanic_dataset.csv',na_values='NULL')

这里写图片描述
*可视化分析*
在数据处理之前可通过对数据进行可视化分析,对数据有个很好的了解和把握。

##可视化获救与没被获救的比例
df['survived'].hist()

这里写图片描述

###不同船舱级别的获救情况
pd.crosstab(df['pclass'],df['survived']).plot(kind='bar')
pd.crosstab(df['pclass'],df['survived'])

可视化船舱等级对是否获救的影响
*数据处理*
包括异常值处理、缺失值填充、噪音数据过滤、数据形式转换、特征提取等操作。
以上Titanic数据算法不能直接识别,并且像年龄费用为连续型数据,我们需要处理成和其他特征一致的离散性特征。所以我们进行如下处理:
这里写图片描述
详细处理代码如下:

##姓名的处理
df['Name_length']=df['name'].apply(len)

##兄弟姐妹与配偶、父母小孩
df['FamilySize']=df['sibsp']+df['parch']+1
df['IsAlone']=0
df.loc[df['FamilySize']==1,'IsAlone']=1

##费用的处理
df['fare']=df['fare'].fillna(df['fare'].median())
df['categoricalFare']=pd.cut(df['fare'],4)
#print(train)

##年龄
age_avg=df['age'].mean()
age_std=df[
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值