机器学习 之 线性回归

线性回归属于经典的统计学模型,该模型通过已知的变量(自变量)来预测某个连续的数值变量(因变量)。由于线性回归的预测结果并不是那么理想,所以我们在使用的过程中也很少用到,简单了解即可
由于这个线性回归被我们所熟悉,所以就直接讲它的使用方法。
它的回归结果可以写作一个几乎人人熟悉的方程:
在这里插入图片描述
w被统称为模型的参数,其中 w0被称为截距(intercept),w1 ~wn 被称为回归系数(regression coefficient)。每一个x都表示数据的每一个特征。我们根据训练的数据可以求出对应的w参数,从而确定方程。求解过程是运用最小二乘法原理,在这里就不展示。

重要参数接口

LinearRegression(fit_intercept=True # 是否计算出模型截距即w0,默认True
				,normalize=False # 是否对于训练数据进行标准化。,默认False
				,copy_X # 是否对于数据建议行复制后再操作,默认True,不改变原数据
				,n_jobs
				)
# 截距值
entercept_
# w参数
coef_

# 在使用线性回归的时候,因为可以调整的参数比较少,所以该模型训练基本不用调参
#甚至有时候调参了和没调参效果是一样的。

线性回归代码示例

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LinearRegression as LR
from sklearn.datasets import fetch_california_housing as fch
house=fch()
x=pd.DataFrame(house.data)
y=pd.DataFrame(house.target)
xtrain,xtest,ytrain,ytest=train_test_split(x,y,test_size=0.3,random_state=10)

# 将原数据index改成有序的
for i in [xtrain,xtest]:
    i.index=range(i.shape[0])
    i.columns=house.feature_names
    
lr=LR(fit_intercept=True#产生截距
      ,normalize=False#标准化数据
      ,copy_X=False#覆盖数据
      ,).fit(xtrain,ytrain)

l#参数结果
print([*zip(house.feature_names,lr.coef_)])

# 三种评估指标
# 1.
cross_val_score(lr,xtest,ytest,cv=10,scoring="neg_mean_squared_error")*(-1)#模型评估(均方误差)
# 2.
cross_val_score(lr,xtest,ytest,cv=10,scoring="r2").mean()#主要评分指标,捕捉到的信息量
# 3.
from sklearn.metrics import r2_score
r2_score(lr.predict(xtest),ytest)#捕捉的信息量比例(不能反了)

plt.plot(range(len(ytest)),ytest.sort_values(by=[0]).values,color="black",label="zhen_shi")
plt.plot(range(len(lr.predict(xtest))),sorted(lr.predict(xtest)),color="red",label="yu_ce")
plt.legend()
plt.show()

线性回归
我们看到虽然前面数据基本相同,但是后来的却相差甚远,说明这个模型不能很好地预测该数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

「 25' h 」

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

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

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

打赏作者

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

抵扣说明:

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

余额充值