机器学习之回归算法

《数据挖掘技术与应用》

【实验名称】 实验:回归算法

【实验目的】

1.了解回归算法理论基础

2.平台实现算法

  1. 编程实现分类算法

【实验原理】

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛。

【实验环境】

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,并从图像中观察预测值是否准确。

相关推荐
深兰科技2 分钟前
南昌市新建区委书记陈奕蒙会见深兰科技集团董事长陈海波一行
大数据·人工智能·ai应用·深兰科技·陈奕蒙
Xyz_Overlord4 分钟前
深度学习——简介
人工智能·深度学习·机器学习
TYUT ljk7 分钟前
Editing Language Model-based Knowledge Graph Embeddings
人工智能·知识图谱
智驱力人工智能14 分钟前
大型活动交通拥堵治理的视觉算法应用
人工智能·算法·智慧城市·边缘计算·智慧交通·车牌识别算法·堵车识别算法
HyperAI超神经30 分钟前
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
人工智能·深度学习·机器学习·语言模型·自然语言处理·ai for science·蛋白质结构
塔_Tass35 分钟前
【论文阅读】:Weighted Graph Cuts without Eigenvectors:A Multilevel Approach
论文阅读·机器学习·聚类·k-means
张较瘦_39 分钟前
[论文阅读] 人工智能+软件工程 | 理解GitGoodBench:评估AI代理在Git中表现的新基准
论文阅读·人工智能·软件工程
UQI-LIUWJ41 分钟前
论文笔记:LANGUAGE MODELS REPRESENT SPACE AND TIME
人工智能·语言模型·自然语言处理
热热虎43 分钟前
医学图像分割最新进展
图像处理·人工智能·深度学习·计算机视觉
PassLink_1 小时前
Yolov5.6增加注意力机制+ByterTrack:目标检测与跟踪
人工智能·yolo·目标检测·计算机视觉·bytetrack·目标追踪