• 第二章-使用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,里面有详细的解答】

  • 相关阅读:
    STL应用 —— bitset
    计算两个日期时间相差的天数或者时间
    linux上mysql数据备份(全量备份策略+增量备份策略)
    [附源码]计算机毕业设计JAVAjsp在线开放课程平台
    Maven - 5 分钟快速通关
    计算机设计大赛 深度学习的智能中文对话问答机器人
    Spring篇---第七篇
    云原生架构之Spring Cloud+Kubernetes配置中心方案
    (杂谈)关于UIE的一点感想
    44特征02—— 对角化: 相似对角化的条件
  • 原文地址:https://blog.csdn.net/qq_43504141/article/details/126909690