python 回归_用Python实现线性回归模型

大纲

1.什么是协方差和相关系数

2.简单线性回归

3.线性回归模型评估:决定系数R^2

4.因果关系和相关关系

一,协方差和相关系数

协方差(Covariance)

(1)含义

在概率论和统计学中用于衡量两个变量的总体误差。

通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?同向或反向程度如何?

(2)公式

相关系数

(1)含义

可以理解为一种特殊的协方差,剔除了波动因素的协方差

7620533ebdd1c682424db249a3ab1518.png

(2)意义

既然是特殊的协方差,那么它:

1.也可以反映两个变量变化时是同向还是反向,如果同向变化就为正,反向变化就为负。

2.消除了两个变量变化程度的影响,只是单纯反应两个变量每单位变化时的相似程度。

8b06168554ad97063927beddfbe0eda8.png

a2c925ce01e39e8ab3bfa916f1fe889f.png

12653c16105e75a2e07a81c5cdec6e2a.png

a64ce666ac0c13e77d48a995ef5396d5.png

3369eaf1287d7ee4dfb2889c19ad43fa.png

05a4c8d6adb51042fc792f743a35e463.png

52735ddfa81f25ec86fda8339a5687b4.png

068a03ca7eaac6458c5572f9c816b6f6.png

(3)python实现

# 相关系数矩阵
rDf=examDf.corr()

二,简单线性回归

(1)模型

y=a+bx

(2)如何求a和b

一个点的误差=实际值-预测值

误差平方和SSE=∑(实际值-预测值)^2

最小二乘法:使得误差平方和最小

(3)用Python实现

1.提取特征和标签

# 提取特征

2.建立训练数据和测试数据

'''

3.创建及训练模型

'''
运行后会报错,因为这里输入的特征只有1个。注意看报错信息,通过这个例子也学会如何分析报错信息
'''
#第1步:导入线性回归
from sklearn.linear_model import LinearRegression
# 第2步:创建模型:线性回归
model = LinearRegression()
#第3步:训练模型
model.fit(X_train , y_train)

Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

sklearn要求输入的特征必须是二维数组的类型,但是因为我们目前只有1个特征,所以需要用安装错误提示用reshape转行成二维数组的类型。
错误提示信息:Reshape your data either using array.reshape(-1, 1) if your data has a single feature
'''
X_train=X_train.values.reshape(-1,1)
X_test=X_test.values.reshape(-1,1)
# Step1:导入线性回归模块
from sklearn.linear_model import LinearRegression
# Step2:创建模型:线性回归
model=LinearRegression()
# Step3:训练模型
model.fit(X_train,y_train)

(4)最佳拟合线

20271c01f42b32b3f32a66540846a6f3.png

三,线性回归模型评估

1.决定系数R^2

误差平方和SSE=∑(实际值-预测值)^2

y的总波动=∑(实际值-平均值)^2

有多少百分比的y波动没有被回归线描述=误差平方和SSE/y的总波动

有多少百分比的y波动被回归线描述=1-误差平方和SSE/y的总波动=R^2

53e362bf487ff346da8dd3a5675d764b.png

53e362bf487ff346da8dd3a5675d764b.png

eae59f300625f924e12107a6d337f717.png

2.用Python实现

#评估模型:决定系数R^2
model.score(X_test,y_test)

四,因果关系和相关关系

因果关系:a的发生必然会导致b的发生

相关关系:a的发生不一定会导致b的发生

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值