01-线性回归sklearn实现

文章介绍了如何使用Python的sklearn库进行线性回归分析,包括传统方式绘制直线、计算斜率以及利用sklearn的LinearRegression模型。接着,文章讨论了糖尿病数据集上的线性回归应用,并探讨了岭回归的参数调节。最后,文章提到了LASSO回归及其在特征选择中的作用,并展示了不同正则化参数对模型性能的影响。

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

一、传统方式绘制直线并计算斜率

(1)绘制一条直线

(2)已知两点,绘制一条直线

(3)已知两点,求直线斜率

二、利用sklearn线性回归求直线斜率

sklearn.linear_model.LinearRegression

sklearn.datasets.make_regression

三、糖尿病数据集的线性回归分析

四、岭回归的参数调节

参数调节

岭迹分析-模型系数的可视化比较

五、LASSO回归

LASSO回归的参数调节

一、传统方式绘制直线并计算斜率

(1)绘制一条直线

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-6,6,100)
y=0.5*x+2
plt.figure()
plt.plot(x,y,color='red')
plt.show()

(2)已知两点,绘制一条直线

x=np.array([2,6])
y=np.array([3,5])
plt.plot(x,y,'yd-')
plt.show()

(3)已知两点,求直线斜率

k=(y[1]-y[0])/(x[1]-x[0])
print(k)

二、利用sklearn线性回归求直线斜率

sklearn.linear_model.LinearRegression

LinearReagression(
'fit_intercept=True'  #节距是否使用

'normalize=False'   #标准化

'copy_x=True'         #复制x,是否覆盖原始的x

'n_jobs=None'        #计算时设置的任务个数(-1表示使用所有的CPU)

)#大部分取默认值

属性

coef_         输出系数,没有截距

intercept_  输出截距

rank_         输出矩阵的秩

singular     矩阵X的奇异值,仅在x为密集矩阵时有效

方法

fit(self,X,y[,sample_weight])         #训练模型,sample_weight为每个样本的权重值

predict(self,X)                               #模型预测,返回预测值

score(self,X,y['sample_weight])    #模型pinggu,放回R^2系数,最优质为1,说明所有数据都预测正确

get_params(self['deep])           #deep默认为True,返回超参数的值

set_params(self.** params)          #修改超参数的值
 

利用线性回归求通过平面上两点(2,3)(6,5)的直线斜率

#利用线性回归求通过平面上两点(2,3)(6,5)的直线斜率
from sklearn.linear_model import LinearRegression
x=np.array([2,6])
y=np.array([3,5])
x=x.reshape(-1,1)
#实例化
lr=LinearRegression()
lr.fit(x,y)
print("过两点(2,3)与(6,5)的直线斜率为:{},截距项为:{:.2f}".format(lr.coef_,lr.intercept_))

Out:过两点(2,3)与(6,5)的直线斜率为:[0.5],截距项为:2.00

#模型预测
x_test=np.array([3,4,5]).reshape(-1,1)
y_predict=lr.predict(x_test)
y_predict

Out:array([3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suki百香果

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值