python:用 sklearn 构建线性回归模型,并评价

编写 test_sklearn_6.py 如下

# -*- coding: utf-8 -*-
""" 使用 sklearn 估计器构建线性回归模型 """
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import rcParamsfrom sklearn import datasets
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
#from sklearn.preprocessing import StandardScaler# 1.加载 datasets 中的波士顿住房数据集
data_url = "http://lib.stat.cmu.edu/datasets/boston"
raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
# data
X = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
# target
y = raw_df.values[1::2, 2]
#f_names = housing['feature_names']# 2.将数据集划分为训练集和测试集
# 使用 train_test_split 划分数据集
X_train,X_test,y_train,y_test = \train_test_split(X,y, test_size=0.2, random_state=125)
# 3.建立线性回归模型
lrf = LinearRegression().fit(X_train, y_train)
print(" Linear Regression model:\n", lrf)# 4.预测测试集结果
y_pred = lrf.predict(X_test)
print("前20个结果:\n", y_pred[:20])# 线性回归结果可视化
rcParams['font.sans-serif'] = 'SimHei'
fig = plt.figure(figsize=(10,6))
plt.plot(range(y_test.shape[0]), y_test,linewidth=1.5,linestyle='-',color='blue')
plt.plot(range(y_test.shape[0]), y_pred,linewidth=1.5,linestyle='-.',color='red')
plt.xlim((0,102))
plt.ylim((0, 55))
plt.legend(['真实值','预测值'])
#plt.savefig('linear_result.png')
plt.show()# 回归模型评价指标
from sklearn.metrics import explained_variance_score,median_absolute_error
from sklearn.metrics import mean_absolute_error,mean_squared_error,r2_score
print("boston 线性回归模型的平均绝对误差:", mean_absolute_error(y_test,y_pred))
print("boston 线性回归模型的均方误差:", mean_squared_error(y_test,y_pred))
print("boston 线性回归模型的中值绝对误差:", median_absolute_error(y_test,y_pred))
print("boston 线性回归模型的可解释方差值:", explained_variance_score(y_test,y_pred))
print("boston 线性回归模型的 R^2值:", r2_score(y_test,y_pred))

运行 python test_sklearn_6.py 

boston 线性回归模型的平均绝对误差: 3.3775517360082143
boston 线性回归模型的均方误差: 31.15051739031571
boston 线性回归模型的中值绝对误差: 1.7788996425419814
boston 线性回归模型的可解释方差值: 0.7105475650096652
boston 线性回归模型的 R^2值: 0.7068961686076831

参考书:【Python 数据分析与应用】第6章 使用 scikit-learn 构建模型

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统思考—战略共识

当企业不增长的时候,是忙着救火,还是在真正解决问题? 最近遇到很多领导者,把精力放在“管理”上,希望通过抓细节提升效率,解决经营问题。结果呢?全公司上上下下忙成了一团乱麻,但不…

web3跨链桥协议-Nomad

项目介绍 Nomad是一个乐观跨链互操作协议。通过Nomad协议,Dapp能够在不同区块链间发送数据(包括rollups),Dapp通过Nomad的合约和链下的代理对跨链数据、消息进行验证、传输。其安全通过乐观验证机制和欺诈证明制约验证者实现&…

微信小程序实现画板画布自由绘制、选择画笔粗细及颜色、记录撤回、画板板擦、清空、写字板、导出绘图、canvas,开箱即用

目录 画板创建canvas绘制及渲染画笔粗细功能实现画笔颜色选择画笔痕迹撤回、板擦、画布清空canvas解析微信小程序中 canvas 的应用场景canvas 与 2D 上下文、webgl 上下文的关系图像的加载与绘制说明代码说明画板创建 canvas绘制及渲染 在wxml添加对应的canvas标签代码,并在j…

网站灰度发布?Tomcat的8005、8009、8080三个端口的作用什么是CDNLVS、Nginx和Haproxy的优缺点服务器无法开机时

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…

解锁BL后的K40降级

1 下载刷机工具 https://miuiver.com/miflash/ 2、下载刷机包 https://xiaomirom.com/series/ 下载ROM包,12.0.8比较好 3 打开第一步下载的刷机工具 打开首次安装驱动, 接下来先选择个重要的东西,如果不想重新上BL那就选择全部删除…

蓝桥杯刷题——day8

蓝桥杯刷题——day8 题目一题干解题思路代码 题目二题干解题思路代码 题目一 题干 N 架飞机准备降落到某个只有一条跑道的机场。其中第i架飞机在 Ti时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 Di个单位时间,即它最早可以于 Ti时刻开始降落&am…

redis数据类型:list

list 的相关命令配合使用的应用场景: 栈和队列:插入和弹出命令的配合,亦可实现栈和队列的功能 实现哪种数据结构,取决于插入和弹出命令的配合,如左插右出或右插左出:这两种种方式实现先进先出的数据结构&a…

IDEA中解决Edit Configurations中没有tomcat Server选项的问题

今天使用IDEA2024专业版的时候,发现Edit Configurations里面没有tomcat Server,最终找到解决方案。 一、解决办法 1、打开Settings 2、搜索tomcat插件 搜索tomcat插件之后,找到tomcat 发现tomcat插件处于未勾选状态,然后我们将其勾选保存即可。 二、结果展示 最后,再次编…

复习打卡大数据篇——Hadoop HDFS 02

目录 1. HDFS辅助工具 2. namenode安全模式 1. HDFS辅助工具 跨集群数据拷贝 当我们需要跨集群进行文件数据的拷贝时可以用: hadoop distcp 集群1的某个文件路径 要拷贝到集群2的地址路径 文件归档工具archive 由于HDFS的块的数量取决于文件的大小和数量&…

Mamba安装环境和使用,anaconda环境打包

什么是mamba Mamba是一个极速版本的conda,它是conda的C重新实现,使用多线程并行处理来加速包和依赖项的下载。 Mamba旨在提高安装、更新和卸载Python包的速度,同时保持与conda相同的兼容性和命令行接口。 Mamba的核心部分使用C实现&#xff…

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导 Sigrity System Explorer Snip Via Pattern From Layout模式支持从其它设计中截取过孔模型用于仿真分析,同样以差分模板为例 具体操作如下 双击打开System Explorer软件…

顺序表的操作

注意位序和数组下标的关系 插入: 插入的时间复杂度: 最深层语句: 最好情况 最坏情况 平均情况 删除: 查找:

以腾讯混元模型为例,在管理平台上集成一个智能助手

背景 前几天,公司的同事们一起吃了个饭,餐桌上大家聊到大模型的落地场景。我个人在去年已经利用百度千帆平台写过案例,并发过博客(传送门👉:利用文心千帆打造一个属于自己的小师爷)&#xff0c…

计算机基础 试题

建议做的时候复制粘贴,全部颜色改为黑色,做完了可以看博客对答案。 一、单项选择题(本大题共25小题,每小题2分,共50分〉 1.计算机内部采用二进制数表示信息,为了便于书写,常用十六进制数表示。一个二进制数0010011010110用十六进制数表示为 A.9A6 B.26B C.4D6 D.…

[机器学习]XGBoost(3)——确定树的结构

XGBoost的目标函数详见[机器学习]XGBoost(2)——目标函数(公式详解) 确定树的结构 之前在关于目标函数的计算中,均假设树的结构是确定的,但实际上,当划分条件不同时,叶子节点包含的…

【AI驱动的数据结构:包装类的艺术与科学】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 包装类装箱和拆箱阿里巴巴面试题 包装类 在Java中基本数据类型不是继承来自Object,为了…

探索Moticon智能传感器鞋垫OpenGo的功能与优势

Moticon智能传感器鞋垫OpenGo是一款专为运动科学和临床研究设计的先进工具。它通过13枚压力传感器、1枚3D加速器和1枚温度传感器,实时监测脚部的压力分布和步态变化。用户可以通过配套的Beaker应用,将这些数据以图表形式呈现,便于分析和理解。…

hive注释comment中文乱码解决

问题描述 当使用以下命令查看表的元数据信息时出现中文乱码(使用的是idea连接hive) desc formatted test.t_archer; 解决 连接保存hive元数据的MySQL数据库,执行以下命令: use hive3; show tables;alter table hive3.COLUMNS_…

模型 结构化思维

系列文章 分享 模型,了解更多👉 模型_思维模型目录。分步拆解,系统思考。 1 结构化思维的应用 1.1 提升销售额的结构化思维应用案例 小李是一家电商公司的运营经理,面对激烈的市场竞争,公司希望在下个季度实现销售额…

uniApp上传文件踩坑日记

最近在做移动端app,开始接触uniapp。想着直接用PC端的前后端API去做文件上传,但是uniapp的底层把请求拆成了普通请求和文件上传请求,所以不能用一个axios去做所有请求的处理,拆成uni.request和uni.uploadFile去分别处理两种情况。…