机器学习K近邻算法——回归问题K近邻算法示例

news2024/10/9 2:50:17

针对“数据4.1”,讲解回归问题的K近邻算法,以V1(营业利润水平)为响应变量,以V2(固定资产投资)、V3(平均职工人数)、V4(研究开发支出)为特征变量。

1  变量设置及数据处理
data=pd.read_csv(r'数据4.1.csv')
X = data.drop(['V1'],axis=1)#设置特征变量,即除V1之外的全部变量y = data['V1']#设置响应变量,即V1X_train, X_test, y_train, y_test =  train_test_split(X,y,test_size=0.3, random_state=123)scaler = StandardScaler()scaler.fit(X_train)X_train_s = scaler.transform(X_train)X_test_s = scaler.transform(X_test)
2  构建K近邻回归算法模型
#K近邻算法(K=1)model = KNeighborsRegressor(n_neighbors=1)model.fit(X_train_s, y_train)pred = model.predict(X_test_s)print("K=1时的预测值:{}".format(pred))mean_squared_error(y_test, pred)model.score(X_test_s, y_test)#K近邻算法(K=17)model = KNeighborsRegressor(n_neighbors=17)model.fit(X_train_s, y_train)pred = model.predict(X_test_s)print("K=17时的预测值:{}".format(pred))mean_squared_error(y_test, pred)model.score(X_test_s, y_test)#K近邻算法(K=9)model = KNeighborsRegressor(n_neighbors=9)model.fit(X_train_s, y_train)pred = model.predict(X_test_s)print("K=9时的预测值:{}".format(pred))mean_squared_error(y_test, pred)model.score(X_test_s, y_test)
3  如何选择最优的K值
scores = []ks = range(1, 17)for k in ks:    model = KNeighborsRegressor(n_neighbors=k)    model.fit(X_train_s, y_train)    score = model.score(X_test_s, y_test)    scores.append(score)print(max(scores))index_max = np.argmax(scores)print(f'最优K值: {ks[index_max]}')#K近邻算法(选取最优K的图形展示)plt.rcParams['font.sans-serif'] = ['SimHei']#本代码的含义是解决图表中中文显示问题。plt.plot(ks, scores, 'o-')plt.xlabel('K')plt.axvline(ks[index_max], linewidth=1, linestyle='--', color='k')plt.ylabel('拟合优度')plt.title('不同K取值下的拟合优度')plt.tight_layout()plt.show()plt.savefig('不同K取值下的拟合优度.png')

图片

4  最优模型拟合效果图形展示

model = KNeighborsRegressor(n_neighbors=4)model.fit(X_train_s, y_train)pred = model.predict(X_test_s)mean_squared_error(y_test, pred)model.score(X_test_s, y_test)t = np.arange(len(y_test))plt.rcParams['font.sans-serif'] = ['SimHei']#本代码的含义是解决图表中中文显示问题。plt.plot(t, y_test, 'r-', linewidth=2, label=u'原值')plt.plot(t, pred, 'g-', linewidth=2, label=u'预测值')plt.legend(loc='upper right')plt.grid()plt.show()plt.savefig('最优模型拟合效果图形展示.png')

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2197809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter 进阶:根据IP地址判断用户国家/地区

在应用开发中根据IP地址判断用户国家/地区的两种方法 引言 在开发国际化应用时,了解用户的地理位置至关重要。这不仅影响用户体验,还关系到内容展示和合规性。本文将介绍两种通过IP地址判断用户所在国家或地区的方法。 方法一:使用 ip-api…

redis高级(面试题二)

目录 一、redis的五大数据结构有哪些?zset底层是什么结构? 1、redis五大数据结构有哪些? 2、什么是skiplist? 3、zset底层是什么结构? 二、Redis的内存过期策略是什么?Redis的内存淘汰策略有哪些&#…

【专题】数据库系统的基本原理

1. 数据库系统概述 1.1. 数据库系统的应用 电信业、银行业、金融业、销售业、联机的零售商、大学、航空业、人力资源、制造业等等。 1.2 数据库系统的概念 (1) 数据(Data) 数据是数据库存储的基本对象。是描述现实世界中各种具体事物或抽象概念的、可…

Nuxt日志监控(服务端及客户端日志检测)

此文章主要讲解如何使用Nuxt进行日志监控,例如服务端请求日志,客户端请求日志,方便线上出现问题能及时排查问题所在 一、下载依赖 npm install winston winston-daily-rotate-file二、plugin下创建日志处理插件winston.js,对日志…

靠谱!有了它,微信自动统计报表轻松搞定!

当你需要定期统计多个微信号的数据时,每次都要逐一登录并手动统计各种数据,这不仅耗时,还容易出错。 好在,一个便捷的工具——个微管理系统能够帮助我们高效地管理这些繁杂的数据,让我们的工作事半功倍。 好友统计报…

安装Node.js环境,安装vue工具(最佳实践)

一、安装Node.js 去官网下载自己需求的安装包(我提供的步骤是windows10 64x) 下载 | Node.js 中文网 (nodejs.cn)https://nodejs.cn/download/ 下载好后,安装到默认路径就好了,所占用的内容很少。 一直点next就行了 安装好后&a…

python操作.docx、.pptx文件

python操作.docx、.pptx文件 .docx文件和.pptx文件是Microsoft Office套件中两种常见的文件格式,分别对应Word文档和PowerPoint演示文稿。WPS Office完美支持Microsoft Office文件格式。 使用 Python 操作 .docx 和 .pptx 文件是一项非常实用的技能,尤…

BlabkForestLabs 又放大招:“蓝莓”模型其实是 Flux1.1?!

神秘的 AI 生成模型 BlabkForestLabs 又放大招了?就在 AI 绘画圈还在训练 Flux.1 练的不亦乐乎的时候,黑森林工作室又推出了一个新的模型—— Flux1.1 !这次升级后的 Flux1.1 性能直接完爆前版的 Flux.1 ,再次将 AI 绘画的上限拉高…

如何给ppt增加新的一页?这2个ppt使用技巧值得推荐!

在当今讲究视觉表现力的时代,PPT已经成为职场中不可或缺的工具。无论是汇报工作、演示方案还是传递想法,一份精美的PPT都能让你的演讲(演示)更加出色。 然而,制作PPT并非易事,尤其是对于新手来说&#xff…

STM32-HAL库 驱动DS18B20温度传感器 -- 2024.10.8

目录 一、教程简介 二、驱动理论讲解 三、CubeMX生成底层代码 四、Keil5编写代码 五、实验结果 一、教程简介 本教程面向初学者,只介绍DS18B20的常用功能,但也能满足大部分的运用需求。跟着本教程操作,可在10分钟内解决DS18b20通信难题。…

windows认证

本地环境用户信息存储在%systemroot%/system32/SAM 域环境用户信息存储在ntds.dit 本地认证 windows系统下哈希结构:username:RID:LM-HASH:NT-HASH LM哈希 算法: 转大写,转二进制,补0补足14字节 二分获得两段字串&#xff…

算法:238.除自身以外数组的乘积

题目 链接:leetcode链接 思路分析(前缀和) 这道题非常类似 724. 寻找数组的中心下标 在前一篇博客讲解了该题目 传送门:算法:724.寻找数组的中心下标 这道题目的区别在于,这道题是预处理前缀积和后缀积 另外&#x…

了解网页 blob 链接

blob 链接 自从 HTML5 提供了 video 标签,在网页中播放视频变得非常简单,只要在代码中插入一个 video 标签,再将 video 标签的 src 属性设置为视频的链接就可以了。由于 src 指向的是视频文件真实的地址,所以当我们通过浏览器的调…

如何绘制短剧产业链图谱?短剧产业前景如何?

绘制短剧产业链图谱是一个涉及多个环节的复杂过程。我们首先需要确定产业链的主要环节,包括内容创作、制作、发行、宣传和观众。每个环节都由不同的参与者组成,如编剧、导演、演员、制作公司、版权销售商、在线平台、电视台、广告公司和消费者等&#xf…

《CTF 特训营》:网络安全竞赛的进阶指南

在网络安全领域日益受到重视的今天,CTF(Capture The Flag)竞赛作为一种检验和提升网络安全技能的方式,受到了越来越多爱好者的关注。而《CTF 特训营》这本书,无疑是一本帮助读者深入了解 CTF 竞赛的优秀读物。 一、书籍…

Linux shell编程学习笔记86:sensors命令——硬件体温计

0 引言 同事们使用的Windows系统电脑,经常莫名其妙地装上了鲁大师,鲁大师的一项功能是显示系统cpu等硬件的温度。 在Linux系统中,sensors命令可以提供类似的功能。 1 sensors命令 的安装和配置 1.1 sensors命令 的安装 要使用sensors命…

INS淡绿色风格人像街拍Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色介绍 INS 淡绿色风格人像街拍通过 Lightroom 调色可以营造出清新、自然、时尚的视觉效果。这种风格以淡绿色为主色调,给人一种宁静、舒适的感觉。 预设信息 调色风格:INS风格预设适合类型:人像,街拍,自拍&#…

动态规划算法题目练习——62.不同路径

1.题目解析 题目来源:62.不同路径——力扣 测试用例 2.算法原理 1.状态表示 这时由于避免越界初始化所以将左上角置为虚拟位置,创建一个二维dp表用来存储到当前为止的所有路径 2.状态转移方程 以dp[i,j]为例,起点到该位置的路径是起点到其上…

信息安全工程师(40)防火墙技术应用

一、防火墙的基本概念 防火墙是一种网络安全设备,用于监控和控制网络流量,以保护网络免受未经授权的访问和攻击。它可以是装配多张网卡的通用计算机,也可能是通用的物理设备。防火墙通过在网络之间设置访问控制策略,对进出的通信流…

JAVA开源项目 新生报到网站 计算机毕业设计

本文项目编号 T 002 ,文末自助获取源码 \color{red}{T002,文末自助获取源码} T002,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 提…