机器学习Python代码实战(一)线性回归算法

embedded/2024/10/17 12:34:53/

一.简单线性回归算法

简单线性回归算法的函数表达式一般为y=kx+b,需要拟合的变量是k和b。

1.导入库和数据集

2.读入数据集并以图表形式展示

分别为x轴和y轴设定标签值为area和price,其中读入的数据集csv文件是在项目的根目录下的文件夹dataset里。打印如图示。

至于数据集大家可以去kaggle上下载,点此跳转即可。

该散点图描述了数据的分布情况。

3.LinearRegression模型引入并进行预测

首先初始化LineatRegression对象ds,再使用pandas库对数据进行处理,得出参数截距和斜率。

然后进行假如我们想知道在房屋面积为:3300平方米时的价格是多少,代码如下:

可以看到房价约为62万。

至此,简单的线性回归模型代码实现已经完成。

二.多元线性回归算法

多元线性回归的方程为y=a*x1+b*x2+c*x3+...+k。其中k参数为偏置值,a,b,...为每个自变量对应的权重。

下面以影响学生学习成绩的部分因素为例探究多元线性回归算法的代码实现。

同样地,

1.导入库和数据集

这里由于数据中所有列不全为数字类型,故需先进行预处理。

打印前十行如下。

在这里,学习时长,历史分数,课外活动,睡眠时长,练习的试卷为自变量,成绩为因变量。

2.单独处理不为数字类型的列

如图所示,从上一步获取到的X我们可以看到,课外活动这一列是字符串类型,故简单将其转换成0,1即可。

在这里保存原来的x列,将课外活动列单独拆分成两列。

3.将数据集划分为训练集和测试集

这里原来的数据集为10000行X6列,若采用训练集占80%,测试集占20%的比例划分,那么训练集为8000行X7列,测试集为2000行X7列。

打印训练集x如图所示。

4.模型训练

5.预测结果(基于测试集)

接下来需要在测试集上使用我们训练好的模型去预测结果,观察与实际值的误差。

6.模型评估

回归模型的评价指标通常可以是平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)。本文采用均方根误差指标评价该模型的好坏。

可以看到此时模型的预测精度相对较高,误差相对较小。

至此,线性回归算法代码已完成。后续会逐步更新其他机器学习算法Python代码实战。欢迎各位点赞收藏哈~


http://www.ppmy.cn/embedded/53841.html

相关文章

C语言类型转换理解不同的基本类型为什么能够进行运算

类型转换 1.类型转换1.1隐式转换1.2常用算术转换1.2强制类型转换 1.类型转换 在执行算数运算时,计算机比C语言的限制更多。为了让计算机执行算术运算,通常要求操作数用相同的大小(即为的数量相同),但是C语言却允许混合…

使用不同环境的配置文件active profile

在 IntelliJ IDEA 的 Run/Debug Configurations 中,Active profiles 选项通常用于与 Spring Boot 应用程序相关的配置。这是 Spring Boot 特有的一个用来管理不同环境配置的特性,通常用来在开发(dev)、测试(test&#…

开源大数据项目推荐:引领数据时代的创新力量

随着开源项目的蓬勃发展,越来越多的程序员和数据科学家开始关注并积极参与到开源大数据项目中。这些项目不仅推动了技术的进步,也为行业带来了诸多创新应用。本文将推荐几个当前热门的大数据开源项目,分析其技术亮点、实际应用以及对行业的影…

西门子智能电气阀门定位器在冶金生产控制的应用

西门子智能电气阀门定位器在冶金生产控制的应用 1 前 言 在自动化程度越来越高的冶金行业中 ,调节阀起着至关重要的作用,一旦其发生故障, 轻则出现生产事故,停机,停炉影响各级生产指标,生产任务,影响装置的安全运行。重则可能出现人身安全事故,将直接影响家庭的幸福和企…

机器学习算法(二):1 逻辑回归的从零实现(普通实现+多项式特征实现非线性分类+正则化实现三个版本)

文章目录 前言一、普通实现1 数据集准备2 逻辑回归模型3 损失函数4 计算损失函数的梯度5 梯度下降算法6 训练模型二、多项式特征实现非线性分类1 数据准备与多项式特征构造2 逻辑回归模型三、逻辑回归 --- 正则化实现1 数据准备2 逻辑回归模型3 正则化损失函数4 计算损失函数的…

nf_tables

nf_tables nf_tables 是 Linux 内核中的一个组件,属于 netfilter 子系统的一部分。它的作用类似于 iptables,都是用于配置和执行网络相关的规则,实现防火墙的功能。以下是 nf_tables 的一些主要作用和特点: 规则集管理&#xff1…

WPF 深入理解六、ControlTemplate控件模板

ControlTemplate 定义 控件模板用于来定义控件的外观、样式,还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。 对与WPF当中,每个控件都是无外观的,这意味着我们可以完全自定义其可视元素的外观,但是不能修改其内部的行为&#xf…

AI绘画Stable Diffusion人物背景替换实操教程,让创意无限延伸

大家好,我是画画的小强 Stable Diffusion以其强大的能力可以实现人物背景的更换。本文将带你深入了解如何利用Stable Diffusion中的Inpaint Anything插件快速且精准地实现人物背景的替换,从而让你的图片焕发新生。 前期准备 本文会使用到Inpaint Anyt…