决策树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())

处理后的数据格式如下:

相关推荐
38242782723 分钟前
python:输出JSON
前端·python·json
某林2121 小时前
基于SLAM Toolbox的移动机器人激光建图算法原理与工程实现
stm32·嵌入式硬件·算法·slam
也许是_1 小时前
大模型应用技术之 详解 MCP 原理
人工智能·python
修炼地1 小时前
代码随想录算法训练营第四十三天 | 图论理论基础、深搜理论基础、卡码网98. 所有可达路径、797. 所有可能的路径、广搜理论基础
算法·深度优先·图论
iAkuya1 小时前
(leetcode)力扣100 23反转链表(迭代||递归)
算法·leetcode·链表
剪一朵云爱着1 小时前
PAT 1095 Cars on Campus
算法·pat考试
沙漠豪2 小时前
提取PDF发票信息的Python脚本
开发语言·python·pdf
MicroTech20252 小时前
激光点云快速配准算法创新突破,MLGO微算法科技发布革命性点云配准算法技术
人工智能·科技·算法
Cathy Bryant3 小时前
傅里叶变换(一):简介
笔记·算法·数学建模·信息与通信·傅里叶分析