Python实现KNN(K近邻)回归模型(KNeighborsRegressor算法)并应用网格搜索算法寻找最优参数值项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。
1.项目背景
K近邻算法回归模型则将离待预测样本点最近的K个训练样本点的平均值进行待预测样本点的回归预测。
K近邻除了能进行分类分析,还能进行回归分析,即预测连续变量,此时的KNN称为K近邻回归模型。回归问题是一类预测连续值的问题,而能满足这样要求的数学模型称作回归模型,本项目应用K近邻回归模型进行探索新冠疫情、原材料、人工、物流等因素对零部件价格的影响。
2.数据获取
本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:
数据详情如下(部分展示):
3.数据预处理
3.1 用Pandas工具查看数据
使用Pandas工具的head()方法查看前五行数据:
关键代码:
3.2 数据缺失查看
使用Pandas工具的info()方法查看数据信息:
从上图可以看到,总共有9个变量,数据中无缺失值,共101条数据。
关键代码:
3.3 数据描述性统计
通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。
关键代码如下:
4.探索性数据分析
4.1 零件价格变量的折线图
用Matplotlib工具的plot()方法绘制折线图:
从上图可以看到,零部件价格整体在20到60之间波动。
4.2 相关性分析
从上图中可以看到,数值越大相关性越强,正值是正相关、负值是负相关。
4.3 数据散点图
用seaborn工具的lmplot()方法绘制散点图:
从上图中可以看到,材料费变量和零售价格变量成线性相关。
5.特征工程
5.1 建立特征数据和标签数据
关键代码如下:
5.2 数据集拆分
通过train_test_split()方法按照80%训练集、20%测试集进行划分,关键代码如下:
5.3 低方差特征选择
从上图可以看出,疫情防控等级1级为0.19低于阈值0.21,即可将此特征删除。
5.4 数据标准化
关键代码如下:
6.构建KNN回归模型
主要使用KNeighborsRegressor算法和网格搜索优化算法,用于目标回归。
6.1默认参数构建模型
6.2 通过网格搜索寻找最优参数值
关键代码:
最优参数:
6.3 最优参数值构建模型
7.模型评估
7.1评估指标及结果
评估指标主要包括可解释方差值、平均绝对误差、均方误差、R方值等等。
从上表可以看出,R方为0. 7428较默认参数优有较大的提升;可解释方差值为0. 7549较默认参数优较大的提升,优化后的回归模型效果良好。
关键代码如下:
7.2 真实值与预测值对比图
从上图可以看出真实值和预测值波动基本一致,模型拟合效果良好。
8.结论与展望
综上所述,本文采用了KNN回归算法来构建回归模型,通过网格搜索算法找到最优的参数值,最终证明了我们提出的模型效果很好,可用于实际生产中进行预测,使企业发展得更好,利润更多。
本次机器学习项目实战所需的资料,项目资源如下:
项目说明:
链接:https://pan.baidu.com/s/1dW3S1a6KGdUHK90W-lmA4w
提取码:bcbp
Python实现KNN(K近邻)回归模型(KNeighborsRegressor算法)并应用网格搜索算法寻找最优参数值项目实战相关推荐
- Python实现决策树回归模型(DecisionTreeRegressor算法)并应用网格搜索算法调优项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 决策树除了能进行分类分析,还能进行回归分析,即预测连续变量,此时 ...
- Python实现直方图梯度提升分类模型(HistGradientBoostingClassifier算法)并基于网格搜索进行优化同时绘制PDP依赖图项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 基于直方图的梯度提升分类树.此估算器对缺失值 (NaN) 具有原 ...
- 机器学习理论梳理2 : KNN K近邻分类模型
本文主要梳理KNN,K近邻模型的基本原理. 从机器学习的大分类来看,K近邻模型属于监督学习中的一种判别式模型,常用于分类问题.初始的数据集中,包含了已经分类标签好的数据.一句话来说,K近邻模型就是通过 ...
- Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, ...
- 机器学习之路:python k近邻回归 预测波士顿房价
python3 学习机器学习api 使用两种k近邻回归模型 分别是 平均k近邻回归 和 距离加权k近邻回归 进行预测 git: https://github.com/linyi0604/Machine ...
- Python KNN K近邻分类
Python KNN K近邻分类 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 KNN简介 相关概念见下: 对于给定的观测来 ...
- knn K近邻算法python实现
本文主要内容: knn K近邻算法原理 sklearn knn的使用,以及cross validation交叉验证 numpy 实现knn knn改进方法 1 knn K近邻算法原理 K近邻算法:给定 ...
- Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型
Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录
- Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型
Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录
最新文章
- glog 报错解决: /bin/bash: aclocal-1.14: command not found
- 解决新配置虚拟主机不生效的问题
- css文本 颜色1
- python代码大全o-Python 文件I/O
- Docker 初步认识
- 软件项目经理需具备什么样的技术水平?
- LeetCode算法系列_0862_和至少为K的最短子数组
- 各浏览器抗uaf机制
- (译文)JavaScript基础——JavaScript中的深拷贝
- 配置python程序debug/run,避免每次运行都会重复加载数据集或模型,节约大量等待时间
- 嵌入式操作系统和普通操作系统的区别_嵌入式ARM和单片机的区别何在
- 从零开始学习音视频编程技术--转自雲天之巔
- 【vn.py】源码解析之 Dual Thrust 策略
- android 8原生系统下载地址,android8.0下载地址 android8.0系统下载网址
- Linux网络命令合集
- 从招聘网站分析大数据相关职位现状
- 索骥馆-DIY硬盘之《新手3周学通硬盘芯片级维修》扫描版[PDF]
- 解决:Unhandled exception in XX.exe: 0xc00000FD; Stack Overflow
- 常用颜色的RGB分布
- 长尾分布(long-tail distribution)和长尾效应