当前位置: 首页>后端>正文

机器学习(三):线性回归实战

在python中,有一个三方库,叫Scikit-learn,简称sklearn,是一个机器学习算法库,包含了常用的机器学习算法,如回归、分类、聚类、支持向量机、随机森林等。在做机器学习的时候,可以直接调用它的API。

官方网站:https://scikit-learn.org/stable/

安装方式:
pip install scikit-learn

这一节我们使用sklearn来实现线性回归算法

实现流程

首先是从库里导出线性模型

from sklearn import linear_model

然后再进行训练

need_model = linear_model.LinearRegression() #使用线性回归算法建立模型
need_model.fit(x,y) #喂入训练数据

最后就是进行预测

need_model.predict(x_)

实战案例

1,准备数据

#准备自变量x,生成数据集,3到6的区间均分间隔30份数
x = np.linspace(3,6,40)

#准备因变量y,这一个关于x的假设函数
y = 3 * x + 2

# 添加代码,扰乱点的分布
x = x + np.random.rand(40)

2,实现算法

#使用matplotlib绘制图像,使用numpy准备数据集
import  matplotlib.pyplot as plt
import numpy as np
from sklearn import linear_model

#准备自变量x,生成数据集,3到6的区间均分间隔30份数
x = np.linspace(3,6,40)

#准备因变量y,这一个关于x的假设函数
y = 3 * x + 2

# 添加代码,扰乱点的分布
x = x + np.random.rand(40)

#由于fit 需要传入二维矩阵数据,因此需要处理x,y的数据格式,将每个样本信息单独作为矩阵的一行
x=[[i] for i in x]
y=[[i] for i in y]

# 构建线性回归模型
model=linear_model.LinearRegression()

# 训练模型,"喂入"数据
model.fit(x,y)

# 准备测试数据 x_,这里准备了三组,如下:
x_=[[4],[5],[6]]

# 打印预测结果
y_=model.predict(x_)
print(y_)

#查看w和b的
print("w值为:",model.coef_)
print("b截距值为:",model.intercept_)

#数据集绘制,散点图,图像满足函假设函数图像
plt.scatter(x,y)
plt.show()

得出结果如下:


机器学习(三):线性回归实战,第1张
散点分布

终端输出为:


机器学习(三):线性回归实战,第2张

https://www.xamrdz.com/backend/3cw1938946.html

相关文章: