决策树python实现代码1

目录

前言

数据:Titanic.csv,是一份泰坦尼克号的乘客信息及获救情况的统计,今天先完成数据清洗部分的代码逻辑。

代码实现

python 复制代码
# 导入第三方模块
import pandas as pd
from sklearn import model_selection
from sklearn.model_selection import GridSearchCV
from sklearn import tree

# 读入数据
Titanic = pd.read_csv(r'Titanic.csv')

# 删除无意义的变量,并检查剩余自字是否含有缺失值
Titanic.drop(['PassengerId','Name','Ticket','Cabin'], axis = 1, inplace = True)

# 对Sex分组,用各组乘客的平均年龄填充各组中的缺失年龄
fillna_Titanic = []
for i in Titanic.Sex.unique():
    update = Titanic.loc[Titanic.Sex == i,].fillna(value = {'Age': Titanic.Age[Titanic.Sex == i].mean()})
    fillna_Titanic.append(update)
Titanic = pd.concat(fillna_Titanic)

# 使用Embarked变量的众数填充缺失值
Titanic.fillna(value = {'Embarked':Titanic.Embarked.mode()[0]}, inplace=True)

# 将数值型的Pclass转换为类别型,否则无法对其哑变量处理
Titanic.Pclass = Titanic.Pclass.astype('category')
# 哑变量处理
dummy = pd.get_dummies(Titanic[['Sex','Embarked','Pclass']])
# 水平合并Titanic数据集和哑变量的数据集
Titanic = pd.concat([Titanic,dummy], axis = 1)
# 删除原始的Sex、Embarked和Pclass变量
Titanic.drop(['Sex','Embarked','Pclass'], inplace=True, axis = 1)
print(Titanic.head())

处理后的数据格式如下:

相关推荐
counting money18 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
wuyk55518 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
坚持学习前端日记19 小时前
Python SQLAlchemy ORM 从0到1精通实战手册(基础到复杂高阶)
数据库·python·oracle
峥无19 小时前
从0到1手撕红黑树:封装实现 my_map 与 my_set(SGI-STL 源码级深度解析)
开发语言·c++·笔记·算法·stl
北斗落凡尘19 小时前
LangGraph 入门实战(11)--输出模式
后端·python·langchain
不会代码的小猴19 小时前
3. 控件学习1
开发语言·c++·笔记·qt·算法
雪碧聊技术20 小时前
安装Python(保姆级教程)
python·版本更新·python下载
++==20 小时前
JSON和Python的 四种核心容器
python·json
203号居民21 小时前
LeetCode hot 100 —41. 缺失的第一个正数
数据结构·算法·leetcode