python sklearn机械学习模型-回归

  • 🌈所属专栏:【机械学习】
  • 作者主页:  Mr.Zwq
  • ✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询!

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍

目录

安装 

数据

使用

线性回归

决策树回归

随机森林回归

岭回归

套索回归

支持向量机回归 

总结


安装 

pip install scikit-learn

数据

X,y即为所需要进行回归处理的数据。

操作:拆分为训练集和测试集

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=12)

使用

线性回归

# 线性回归模型
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 创建线性回归模型并拟合
model = LinearRegression()
model.fit(X_train, y_train)
 
# 进行预测
y_pred = model.predict(X_test)

# 计算模型性能指标
# 利用均方误差(MSE)评价预测结果的合理性,MSE的数值越小越好,即越接近0表示模型的预测与真实值之间的差异较小。
mse = mean_squared_error(y_test, y_pred)  
# 利用平均绝对误差(MAE)预测结果的合理性,MAE的数值越小越好,即越接近0表示模型的预测与真实值之间的差异较小。
mae = mean_absolute_error(y_test, y_pred)  
# r2分数越接近1代表模型性能越好
r2 = r2_score(y_test, y_pred)  
  
print(f'Mean Squared Error: {mse:.4f}')  
print(f'Mean Absolute Error: {mae:.4f}')  
print(f'R^2 Score: {r2:.4f}')

决策树回归

# 决策树回归模型
from sklearn.tree import DecisionTreeRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 创建决策树回归模型并拟合
model = DecisionTreeRegressor()
model.fit(X_train, y_train)
 
# 进行预测
y_pred = model.predict(X_test)
 
mse = mean_squared_error(y_test, y_pred)  
mae = mean_absolute_error(y_test, y_pred)  
r2 = r2_score(y_test, y_pred)  
  
print(f'Mean Squared Error: {mse:.4f}')  
print(f'Mean Absolute Error: {mae:.4f}')  
print(f'R^2 Score: {r2:.4f}')


随机森林回归

# 随机森林回归模型
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 创建随机森林回归模型并拟合
model = RandomForestRegressor()
model.fit(X_train, y_train)
 
# 进行预测
y_pred = model.predict(X_test)

mse = mean_squared_error(y_test, y_pred)  
mae = mean_absolute_error(y_test, y_pred)  
r2 = r2_score(y_test, y_pred)  
  
print(f'Mean Squared Error: {mse:.4f}')  
print(f'Mean Absolute Error: {mae:.4f}')  
print(f'R^2 Score: {r2:.4f}')

岭回归

# 岭回归模型
from sklearn.linear_model import Ridge
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 创建岭回归模型
ridge = Ridge()
 
# 定义alpha值的候选范围
param_grid = {'alpha':[0.1,1.0,10.0]}
 
# 使用交叉验证选择最优的alpha值
ridge_cv = GridSearchCV(ridge,param_grid,cv=5)
ridge_cv.fit(X_train,y_train)
 
# 获取最优的alpha值
best_alpha = ridge_cv.best_params_['alpha']
print("最优alpha值:", best_alpha)
 
# 使用最优的alpha值创建并训练岭回归模型
ridge = Ridge(alpha=best_alpha)
ridge.fit(X_train,y_train)

# 进行预测
y_pred = model.predict(X_test)

mse = mean_squared_error(y_test, y_pred)  
mae = mean_absolute_error(y_test, y_pred)  
r2 = r2_score(y_test, y_pred)  
  
print(f'Mean Squared Error: {mse:.4f}')  
print(f'Mean Absolute Error: {mae:.4f}')  
print(f'R^2 Score: {r2:.4f}')

套索回归

# 套索回归模型
from sklearn.linear_model import Lasso
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 定义alpha值候选范围
param_grid = {'alpha':[0.1,1.0,10.0]}
 
# 使用交叉验证选择最优的alpha值
ridge_cv = GridSearchCV(ridge,param_grid,cv=5)
ridge_cv.fit(X_train,y_train)
 
# 获取最优的alpha值
best_alpha = ridge_cv.best_params_['alpha']
print("最优alpha值:", best_alpha)
 
# 创建并训练套索回归模型
lasso = Lasso(alpha=best_alpha)
lasso.fit(X_train,y_train)
 
# 在测试集上进行预测
y_pred = lasso.predict(X_test)

mse = mean_squared_error(y_test, y_pred)  
mae = mean_absolute_error(y_test, y_pred)  
r2 = r2_score(y_test, y_pred)  
  
print(f'Mean Squared Error: {mse:.4f}')  
print(f'Mean Absolute Error: {mae:.4f}')  
print(f'R^2 Score: {r2:.4f}')

支持向量机回归 

# 支持向量机回归
from sklearn.svm import SVR
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 特征标准化
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
 
# 创建支持向量机回归模型并拟合
model = SVR()
model.fit(X_train_scaled, y_train)
 
# 进行预测
y_pred = model.predict(X_test_scaled)

mse = mean_squared_error(y_test, y_pred)  
mae = mean_absolute_error(y_test, y_pred)  
r2 = r2_score(y_test, y_pred)  
  
print(f'Mean Squared Error: {mse:.4f}')  
print(f'Mean Absolute Error: {mae:.4f}')  
print(f'R^2 Score: {r2:.4f}')

总结

感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹

👍🏻也欢迎你,关注我。👍🏻

如有疑问,可在评论区留言哦~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用SpringBoot整合Servlet

一、SpringBoot和Servlet的整合 1、用注解WebServlet配置Servlet映射 创建一个SpringBoot的web工程,在工程用创建一个Servlet 2、在SpringBoot的启动类上加注解ServletComponentScan 二、额外的方式 1、不使用WebServlet配置Servlet映射 创建一个SpringBoot工…

数据资产治理的智能化探索:结合云计算、大数据、人工智能等先进技术,探讨数据资产治理的智能化方法,为企业提供可靠、高效的数据资产解决方案,助力企业提升竞争力

一、引言 在信息化时代,数据已成为企业最重要的资产之一。随着云计算、大数据、人工智能等先进技术的飞速发展,数据资产治理面临着前所未有的机遇与挑战。本文旨在探讨如何结合这些先进技术,实现数据资产治理的智能化,为企业提供…

零知识学习之DPDK与RDMA(3)—— 认识DPDK(3)

接前一篇文章:零知识学习之DPDK与RDMA(2)—— 认识DPDK(2) 本文内容参考: 《Linux高性能网络详解 从DPDK、RDMA到XDP》 刘伟著 人民邮电出版社 https://blog.51cto.com/u_15301988/5181201 特此致谢&…

微软账户和本地账户有什么区别?如何切换登录账户?

Windows 操作系统是目前世界上比较流行的操作系统之一,在使用 Windows 系统的时候都需要我们进行登录,其中我们可以使用微软账户或者本地账户进行登录,那本地账户和微软账户有什么区别?下面就带大家了解一下微软账户和本地账户。 …

【Threejs进阶教程-着色器篇】2. Uniform的基本用法与Uniform的调试

Uniform的基本用法与Uniform的调试 关于本Shader教程优化上一篇的效果优化光栅栏高度让透明度和颜色变的更平滑pow()函数借助数学工具更好的理解函数 Unifoms简介编写uniforms修改片元着色器代码借助lil.gui调试uniforms使用uniform控制颜色继续在uniforms添加颜色在着色器中接…

git配置ssh-keygen -t rsa -c“xxxx@xxxx.com.cn出现Too many arguments.解决办法

git配置ssh-keygen -t rsa -c"xxxxxxxx.com.cn出现Too many arguments.解决办法 问题描述 配置Git公钥私钥时候输入命令ssh-keygen -t rsa -c"xxxxxxxx.com.cn出现Too many arguments. 解决办法: 提示输入的参数格式不正确,需要注意这几个地…

甄选版“论软件系统架构评估”,软考高级论文,系统架构设计师论文

论文真题 对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,…

HexPlane: A Fast Representation for Dynamic Scenes(总结图)

图1。用于动态三维场景的 Hex刨面。我们没有从深度 MLP 中回归颜色和不透明度,而是通过 HexPlann 显式地计算时空点的特征。配对一个微小的 MLP,它允许以上100倍加速匹配的质量。 图2。方法概述。Hex刨包含六个特征平面,跨越每对坐标轴(例如…

四个Python代码片段,全面掌握下划线 “_”的妙用!

在Python的世界里,下划线“_”不仅是一个简单的符号,它还承载了许多编程的小技巧,可以让你的编码工作变得更加轻松和高效。 1、快速回顾:下划线在控制台的神秘力量 当你在Python控制台进行连续计算时,知道如何快速引…

【C语言】顺序表经典算法

本文介绍的是两道顺序表经典算法题目。 移除元素 (来源:LeetCode) 题目 分析 我们很容易想到的办法是去申请一个新的数组,遍历原数组不等于val就把它拿到新数组里。但是题目的要求是不使用额外空间,所以这种方法我们…

【Koa】KOA 基础-掌握基于koa2搭建web应用的基础

目录 KOA 基础框架介绍与环境搭建koa2 基本介绍Node.JS 环境安装创建 Hello World 程序 Web 应用开发基础处理get请求参数处理post请求参数响应一个页面处理静态资源 中间件基本概念和执行过程中间件概念理解Koa 中间件执行模型-洋葱圈模型Koa洋葱圈设计理解 用 koa-body 处理 …

Tekla Structures钢结构详图设计软件下载;Tekla Structures高效、准确的合作平台

Tekla Structures,它不仅集成了先进的三维建模技术,还融入了丰富的工程实践经验,为设计师、工程师和建筑商提供了一个高效、准确的合作平台。 在建筑项目的整个生命周期中,Tekla Structures都发挥着举足轻重的作用。从规划阶段开始…

朋友圈运营必备!一键转发和自动转发轻松搞定!

你还在手动发布多个微信号的朋友圈吗? 现在,就教你一招,让你轻松实现一键转发和自动转发朋友圈! 首先,我们需要在个微管理系统上登录自己的微信号,以便进行统一管理。这个系统可以多个微信号同时登录&…

【长亭WAF(雷池)——网站保护之“动态防护”】

在当今的网络安全环境中,Web应用防火墙(WAF)扮演着至关重要的角色。 它们不仅能够防御常见的Web攻击,如SQL注入、跨站脚本攻击(XSS)等,还能够应对日益复杂的网络威胁。 作为业内领先的Web安全解…

苹果手机怎么刷机?适合小白的刷机办法!

自己的苹果手机用时间长了,有些人想要为自己的手机重新刷新一下,但又不知道怎么刷机。不要慌现在就来给大家详细介绍一下苹果手机怎么刷机,希望可以帮助到大家。 iPhone常见的刷机方式,分为iTunes官方和第三方软件两种刷机方式。 …

cv2.cvtColor的示例用法

-------------OpenCV教程集合------------- Python教程99:一起来初识OpenCV(一个跨平台的计算机视觉库) OpenCV教程01:图像的操作(读取显示保存属性获取和修改像素值) OpenCV教程02:图像处理…

代码随想录Day70(图论Part06)

108.冗余连接 题目:108. 冗余连接 (kamacoder.com) 思路:每次更新输出的边,来保证删除的是输入中最后出现的那条边。关键是,我要知道哪条边可以删除,而且是在join的时候就判断 尝试(难得AC) im…

gdbserver 指南

文章目录 1. 前言2. gdbserver 远程调试2.1 准备工作2.1.1 准备 客户端 gdb 程序2.1.2 准备 服务端 gdbserver2.1.3 准备 被调试程序 2.2 调试2.2.1 通过网络远程调试2.2.1.1 通过 gdbserver 直接启动程序调试2.2.1.2 通过 gdbserver 挂接到已运行程序调试 2.2.2 通过串口远程调…

WPF对象样式

基本样式设置 Style 设置指定对象的属性 属性: TargetType 引用在哪个类型上面,例如Button、Textblock。。 如果在控件对象里面设置Style,则TargetType必须指定当前控件名 只在作用域里面有效果,其他的相同控件没有影响&…

昇思25天学习打卡营第13天|ResNet50图像分类

1. 学习内容复盘 图像分类是最基础的计算机视觉应用,属于有监督学习类别,如给定一张图像(猫、狗、飞机、汽车等等),判断图像所属的类别。本章将介绍使用ResNet50网络对CIFAR-10数据集进行分类。 ResNet网络介绍 ResNet50网络是2015年由微软…