机器学习之回归算法

server/2025/4/2 6:33:35/

《数据挖掘技术与应用》
【实验名称】 实验:回归算法
【实验目的】
1.了解回归算法理论基础
2.平台实现算法
3. 编程实现分类算法
【实验原理】
线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。
【实验环境】
OS:Ubuntu16.04
PyCharm: 2017.3
Mining
【实验步骤】

本实验中我们将对波士顿房价的数据集进行回归算法训练:在机器学习章节中我们已经创建过最简单的回归模型,我们在此回顾一下:
LinearRegression 会调用 fit 方法来拟合数组 X, y,并且将线性模型的系数  存储在其成员变量 coef_ 中:
from sklearn import linear_model
reg = linear_model.LinearRegression()
print(reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2]))
print(reg.coef_)
print(reg.predict([[1, 2]]))

题目一:使用线性和多项式回归算法进行房价预测

STEP1:加载波士顿房价数据集,并且将数据集分割为训练集和测试集。
STEP2:创建线性回归模型和多项式回归模型并进行训练,问题一:补充代码,创建多项式回归模型并进行训练,在这里我们已经对线性回归模型比较熟悉了,但是多项式回归模型如何创建?
我们已知线性回归和多项式线性回归的模型如下:

仔细观察这两个模型会发现,我们可以想象创造一个新的变量:

有了这些重新标记的数据,我们可以将问题写成:

因此我们可以将原始数据转换后再使用线性回归训练构成多项式回归模型。
提示:使用PolynomialFeatures方法将数据进行转换

STEP3:使用模型进行预测并计算其mse。
题目二:使用Ridge回归算法进行房价预测
线性回归的主要问题是对异常值敏感,在真实世界的数据收集过程中,经常会遇到错误的度量结果,而线性回归使用的普通最小二乘法,其目标是使平方误差最小化,这时,由于异常值误差的绝对值很大,会引起问题,破坏模型。
Ridge 回归通过对系数的大小施加惩罚来解决普通最小二乘法的一些问题,请自行了解Ridge 回归算法,以及与线性算法的区别。
STEP1:加载数据集,并且将数据集分割为训练集和测试集。
STEP2:创建Ridge回归模型,请了解sklearn中Ridge模型的alpha参数,参考:http://sklearn.apachecn.org/cn/0.19.0/modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge。
STEP3:问题一:寻找Ridge最优参数alpha,补充代码创建参数优化器GridSearchCV,将参数model,param_grid传入,GridSearchCV是为了寻找出model的alpha最优参数,请了解sklearn中GridSearchCV的model,param_grid参数,参考:http://sklearn.apachecn.org/cn/0.19.0/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV。
STEP4:使用最优参数的Ridge模型进行预测,计算其MSE,并从图像中观察预测值是否准确。


http://www.ppmy.cn/server/180634.html

相关文章

Chapters 15 16:What Is Architecture?Independence_《clean architecture》notes

What Is Architecture?&Independence **Chapter 15: What Is Architecture?****Key Concepts**:**Code Example: Layered Architecture**: **Chapter 16: Independence****Key Concepts**:**Code Example: Dependency Inversion & Interfaces**: **Combined Example:…

Postman 版本信息速查:快速定位版本号

保持 Postman 更新至最新版本是非常重要的,因为这能让我们享受到最新的功能,同时也保证了软件的安全性。所以,如何快速查看你的 Postman 版本信息呢? 如何查看 Postman 的版本信息教程

unity中Xcharts图表鼠标悬浮表现异常

鼠标悬浮在面板附近,只显示单独的一个项目 而且无论鼠标如何移动,根本没有效果。 解决方案: 需要在对应的Canvas上绑定主相机才可以 鼠标移动到项目上就有信息展示了

基于javaweb的SpringBoot实验室管理系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

【STM32】WDG看门狗(学习笔记)

学习来源----->江协科技STM32 WDG简介 WDG(Watchdog)看门狗看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长…

18.OpenCV图像卷积及其模糊滤波应用详解

OpenCV图像卷积及其模糊滤波应用详解 在图像处理领域,卷积是一种非常基础且强大的操作。它通过将一个小矩阵(称为卷积核或滤波器)滑动覆盖在图像上,对每个像素进行加权求和,从而实现图像的平滑、边缘检测、锐化、模糊等…

解锁科研绘图新姿势:DeepSeek 携手 Rstudio 绘图可视化

在科研领域,数据可视化至关重要,它能直观呈现复杂数据,助力科研成果展示与交流。本文深入探讨如何借助DeepSeek结合Rstudio绘制8种常见科研图表,详细阐述每种图表的绘制指令、代码解读、参数调整以及实际应用场景,为科…

爱因斯坦求和 torch

目录 向量点积 矩阵乘法 矩阵转置 向量转换相机坐标系 在 Python 的科学计算库(如 NumPy)中,einsum 是一个强大的函数,它可以简洁地表示各种张量运算。下面是几个不同类型的使用示例: 向量点积 向量点积是两个向量…