泰坦尼克号案例代码流程分析

文章目录

  • 前言
  • .前期准备:导入所需库
  • .获取数据
    • 1.引入数据
    • 2.合并训练集与测试集
  • 三.数据预处理
    • 1.删除无需保留的特征值并补足缺失值
    • 2.对合并集进行划分
  • 四.特征工程 (字典抽取特征值)

  • 五.决策树预估器(建立模型)

  • 六.模型评估

 


前言

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就为大家介绍机器学习经典案例--泰坦尼克号的代码流程分析。


 

一.前期准备:导入所需库

#1.前期处理:导入所需库
import pandas as pd
import numpy as up
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier

 

二.获取数据

1.引入数据

train=pd.read_csv('train.csv')
test=pd.read_csv('test.csv')
print(train.head())  #查看是否导入数据
print(test.head())

head()默认为5行,也可以在后面修改为自己想要的行数

2.合并训练集与测试集

# 合并train与test
union=train.append(test,ignore_index=True)
print(union.info())

 

三.数据预处理

1.删除无需保留的特征值并补足缺失值

#删除无需保留的特征值并补足缺失值
union=union.drop(['Name','Ticket','Fare','Cabin'],axis=1)
union['Age'].fillna(union['Age'].mean(),inplace=True)  #用平均值来填补缺失年龄
union['Embarked'].value_counts()
union['Embarked'].fillna("S",inplace=True)  #用统计最多的地点来填补缺失目的地


Pclass(乘客是几等舱):乘坐高等舱的人可优先逃离,存活率相对较高,需保留。
Name(乘客名字):与存活率无关,可删。
Sex(乘客性别):女性可优先逃离,对存活率有影响,需保留。
Age(乘客年龄):老人小孩可优先逃离,对存活率有影响,需保留。
SibSp(乘客的兄弟姐妹):存在人情各种因素,对存活率有影响,需保留。
Parch(乘客的父母孩子):同上,需保留。

Ticket (船票号) : 随机,对存活率无影响,可删。
Fare(购票所用的费用):与几等舱信息高度线性相关且更为复杂,可删。
Cabin(船舱号):随机,对存活率无影响,可删。
Embarked(目的地):目的地可展现一个人的地位,需保留。
 

2.对合并集进行划分

# 划分数据集
train = union.loc[0:890]
test = union.loc[891:]
x_train = train.drop(['Survived'],axis = 1)
x_test = test.drop(['Survived'],axis = 1)
y_train = train['Survived']
y_test = test['Survived']

四.特征工程

  字典抽取特征值

#  字典抽取特征值
tranfer=DictVectorizer(sparse=False)
x_train=tranfer.fit_transform(x_train)
x_test=tranfer.transform(x_test)
transfer.get_feature_names()  #获取特征值名

五.决策树预估器(建立模型)

#5.决策树预估器(建立模型)
estimator=DecisionTreeClassifier(max_depth=6)
estimator.fit(x_train,y_train)

此处将决策树的最大深度设为6,读者可自行设置

六.模型评估

#  模型评估
y_predict=estimator.predict(x_test)
print(y_predict)
id=test['PassengerId']
sub1= {'PassengerId':'id','Survived':y_predict}
sub = pd.DataFrame(sub1)
sub.to_csv("sub1.csv",index=False)
print(sub.head())

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值