sklearn 【01】一般线性回归

博客主要介绍一般线性回归,采用普通最小二乘法使平方误差最小化。给出两个示例,包括将列表数据转为数组、定义线性回归模型、模型训练、可视化展示、系数计算、误差分析等操作,还进行了数据预测和拟合度评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#1.一般线性回归

#方法思路:普通最小二乘法,平方误差最小化

#测试数据:
x = [[0,0],[1,1],[2,2]]
#将列表格式数据转为数组格式
x_1 = np.array(x)
y = [0,1,2]

#定义线性回归模型:
model = linear_model.LinearRegression()
#模型训练:
model.fit(x,y)

#可视化展示:
plt.scatter(x_1[:,0],x_1[:,1],color = 'blue')
plt.show()

#模型系数:
model.coef_
print('模型系数为:',model.coef_)

 

#--------------示例2:---------------------
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score

diabetes = datasets.load_diabetes()

#newaxis:将抽取的数据每个转换为一列
diabetes_x = diabetes.data[:,np.newaxis,2]

#将数据分为训练集与测试集:
diabetes_x_train = diabetes_x[:-20]
diabetes_x_test = diabetes_x[-20:]
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]


#建立回归模型:
model = linear_model.LinearRegression()
#模型训练过程:
model.fit(diabetes_x_train, diabetes_y_train)

#进行数据预测:
diabetes_pred = model.predict(diabetes_x_test)

#模型误差分析:
error = mean_squared_error(diabetes_y_test, diabetes_pred)
r2_score = r2_score(diabetes_y_test, diabetes_pred)

#训练后的系数:
print('系数为:',model.coef_)
print('误差为:',error)
print('拟合度为:',r2_score)

#可视化展示:
plt.scatter(diabetes_x_test, diabetes_y_test, color = 'black')
plt.plot(diabetes_x_test, diabetes_pred, color = 'blue', linewidth = 3)
#去掉x轴坐标;
plt.xticks(())
#去掉y轴坐标:
plt.yticks(())
plt.show()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值