第二章-使用KNN和GBDT进行收入的预测分析

本文是《从零开始学python数据分析与挖掘》的第二章学习心得,相关数据可以从对应的官方数据库获取。

提供给你的只有一份收入相关的xlsx,你需要通过里面的数据进行年收入的预测。

1.数据预处理

首先读取数据,查看是否存在缺失值。对于存在缺失值的,一般有如下方法进行处理:
删除法 :若缺失比例非常小删除法较为合理。
替换法 :若缺失为离散型考虑用众数替换;数值型则考虑用均值或中位数替换缺失值。
插补法 :基于未缺失的变量预测缺失变量的值,如常见的回归插补法、多重插补法、拉格朗日插补法等。
此处用众数进行替换。
在这里插入图片描述

2.数据可视化分析

接下来可以对处理完缺失值的数据进行查看。因为看数据没有看图更直观,所以我们通过绘图模块将数据进行可视化,然后输出对应图形。
下面分别是数据的分布图和对比图。
在这里插入图片描述

3.数据建模

1.重编码
对于离散型变量,其中的字符型变量是不能直接用来建模的,因此需要对这些变量进行重编码。重编码的方法有很多种,比如:将字符型的值转换为整数型的值、哑变量处理(0-1变量)、One-Hot热编码等。本文采用“字符转数值”方法。

2.拆分数据集
数据拆分,将数据拆分为训练集和测试集,一般比例为75%和25%。

3.默认参数的模型构建
本文使用两种模型,K近邻和GBDT。在真实案例中也是如此,使用多种分类器进行建模,通过比较最终选择一个更好拟合数据的模型。
在这里插入图片描述

4.进行网格搜索
对两种模型分别进行网格搜索
在这里插入图片描述
5.模型预测与评估
验证模型的好坏有多种方法。
对预测的连续变量来说,常用的衡量指标有均方误差(MSE)和均方根误差(RMSE);
对预测的分类变量来说,常用的衡量指标有混淆矩阵中的准确率、ROC曲线下的面积AUC、K-S值等。
本文用了混淆矩阵比较得分和AUC两种方法。
在这里插入图片描述

在这里插入图片描述
可以看到,通过混淆矩阵的方法,K近邻模型在测试集上的准确率低于GBDT,通过AUC的方法也可以比较出来。
【如果有同学有这种疑问,K近邻在训练集上的准确率是高于GBDT的,可以去看下我的另一篇博客,https://blog.csdn.net/qq_43504141/article/details/126877344,里面有详细的解答】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值