[DataWhale]动手学数据分析Task05:模型建立及评估

本文详细介绍了从特征工程到模型评估的整个流程,包括缺失值填充、分类变量编码、数据集切割、模型创建(如逻辑回归、随机森林)、交叉验证、混淆矩阵和ROC曲线等关键步骤。通过实例探讨了如何处理分类任务中的各种问题,并提供了相应的代码示例和思考题。
摘要由CSDN通过智能技术生成

目录

1.1  特征工程

1.1.1  任务一:缺失值填充

1.1.2  任务二:编码分类变量 

1.2  模型搭建

 思考0 

1.2.1任务一:切割训练集和测试集

提示1

思考1

1.2.2 任务二:模型创建

提示2

 思考2

1.2.3  任务三:输出模型预测结果 

 1.3  模型评估

1.3.1  任务一:交叉验证

思考4

 1.3.2 任务二:混淆矩阵

 提示5

思考5

 1.3.3  任务三:ROC曲线

提示6

 思考6

import pandas as pd
import numpy as np#高性能多维数组矢量运算库
import seaborn as sns
import matplotlib.pyplot as plt
from IPython.display import Image
#IPython.display模块中提供了许多显示Python返回值的类,此处用Image类

IPython详细介绍

%matplotlib inline
#当你调用matplotlib.pyplot的绘图函数plot()进行绘图的时候,或者生成一个figure画布的时候,
#可以直接在你的python console里面生成图像。
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
plt.rcParams['figure.figsize'] = (10, 6)  # 设置输出图片大小
# 读取训练数集
train = pd.read_csv(r'C:\Users\maxqu\Desktop\动手学数据分析\hands-on-data-analysis-master\第三章项目集合\train.csv')
train.shape#注意此处不需要加(),加括号会报错:'tuple' object is not callable

此处是已经数据处理后的表格数据 

1.1  特征工程

数据预处理阶段,包含缺失值处理

1.1.1  任务一:缺失值填充

  • 对分类变量缺失值:填充某个缺失值字符(NA)、用最多类别的进行填充
  • 对连续变量缺失值:填充均值、中位数、众数
    # 对分类变量进行填充,根据观察表中数据发现Cabin列和Embarked列存在缺失值
    train['Cabin'] = train['Cabin'].fillna('NA')#fillna的功能是填充缺失值
    train['Embarked'] = train['Embarked'].fillna('S')

    fillna方法的详细使用

# 对连续变量进行填充
train['Age'] = train['Age'].fillna(train['Age'].mean())
# 检查缺失值比例---最好在数据处理之前和之后分别检查一次缺失值的情况
train.isnull().sum().sort_values(ascending=False)
#先判断空值,再去看空值的总个数,最后按照空值个数从大到小排列

1.1.2  任务二:编码分类变量 

大多数模型要求所有输入和输出变量均为数字。

这意味着,如果数据包含分类数据,则必须先将其编码为数字,然后才能拟合和评估模型。

# 取出所有的输入特征
data = train[['Pclass','Sex','Age','SibSp','Parch','Fare', 'Embarked']]
# 进行虚拟变量转换
data = pd.get_dummies(data)#get_dummies方法是实现one-hot编码的方法
data.head()

get_dummies方法的具体运用

1.2  模型搭建

  • 处理完前面的数据我们就得到建模数据,下一步是选择合适模型
  • 在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习
  • 除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定
  • 刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能力或性能比较好的模型

 思考0 

 数据集哪些差异会导致模型在拟合数据是发生变化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值