首页 AI Studio教育版 帖子详情
一元线性回归
收藏
快速回复
AI Studio教育版 文章师资培训 2542 19
一元线性回归
收藏
快速回复
AI Studio教育版 文章师资培训 2542 19

在数学上变量之间可以用确定的函数关系来表示是比较常见的一种方式。然而在实现应用中,还存在许多变量之间不能用确定的函数关系来表示的例子。前面已经介绍过变量之间可能存在着相关性,那么变量之间的相关关系如何来表示呢?下面我们先介绍简单的一元线性回归,进而再拓展到较为复杂的多元线性回归。最后给出线性回归模型的Python实现方法。

1
收藏
回复
全部评论(19)
时间顺序
水水水的老师
#2 回复于2020-03

所谓一元线性回归,就是自变量和因变量只有一个的线性相关关系模型。下面我们先从一个简单的引例开始,介绍一元线性回归模型的提出背景,进而给出其回归模型、回归方程、回归方程的参数估计和拟合优度等基本概念。

0
回复
水水水的老师
#3 回复于2020-03

有一则新闻:国家旅游局长表示,到2020年中国旅游业总收入将超过3000亿美元。那么他是如何做出这样的预测的呢?

旅游总收入(Y) 居民平均收入(X)……

身高预测问题:

子女的身高(Y) 父母的身高(X) 变量之间的相互关系,主要有三种:

(1)确定的函数关系 Y=f(X)

(2)不确定的统计相关关系

(3)没有关系 不用分析

以上两种例子均属于第2种情况。

0
回复
水水水的老师
#4 回复于2020-03

Python线性回归应用举例:

在发电场中电力输出(PE)与AT(温度)、V(压力)、AP(湿度)、RH(压强)有关,相关测试数据(部分)如下:

AT V AP RH PE
8.34 40.77 1010.84 90.01 480.48
23.64 58.49 1006.176 41.91 563.34
0
回复
水水水的老师
#5 回复于2020-03

问题如下:

(1)利用线性回归分析命令,求出PE与AT、V、AP、RH之间的线性回归关系式系数向量(包括常数项)和拟合优度(判定系数),并在命令窗口输出来。

(2)今有某次测试数据AT=28.4、V=50.6、AP=1011.9、RH=80.54,试预测其PE值。

0
回复
水水水的老师
#6 回复于2020-03
Python线性回归应用举例: 在发电场中电力输出(PE)与AT(温度)、V(压力)、AP(湿度)、RH(压强)有关,相关测试数据(部分)如下: AT V AP RH PE 8.34 40.77 1010.84 90.01 480.48 23.64 58.49 1006.176 41.91 563.34
展开

数据来源于UCI公共测试数据库 下载地址为:http://archive.ics.uci.edu/ml/machine-learning-databases/00294/

0
回复
水水水的老师
#7 回复于2020-03

其计算思路及流程如下:

1.读取数据,确定自变量x和因变量y

import pandas as pd
data = pd.read_excel('发电场数据.xlsx')
x = data.iloc[:,0:4].as_matrix()
y = data.iloc[:,4].as_matrix()
0
回复
水水水的老师
#8 回复于2020-03

线性回归分析,其基本步骤如下:

(1)导入线性回归模块,简称为LR

from sklearn.linear_model import LinearRegression as LR

(2)利用LR创建线性回归对象lr

lr = LR()

(3)调用lr对象中的fit()方法,对数据进行拟合训练

lr.fit(x, y)

(4)调用lr对象中的score()方法,返回其拟合优度(判定系数),观察线性关系是否显著

Slr=lr.score(x,y) # 判定系数 R^2

(5)取lr对象中的coef_、intercept_属性,返回x对应的回归系数和回归系数常数项

c_x=lr.coef_ # x对应的回归系数

c_b=lr.intercept_ # 回归系数常数项

0
回复
水水水的老师
#9 回复于2020-03

利用线性回归模型进行预测

(1)可以利用lr对象中的predict()方法进行预测,比如

import numpy as np

x1=np.array([28.4,50.6,1011.9,80.54])

x1=x1.reshape(1,4)

R1=lr.predict(x1)

(2)也可以利用线性回归方程式进行预测,这个方法需要自行计算,比如:

r1=x1*c_x

R2=r1.sum()+c_b #计算其预测值

0
回复
水水水的老师
#10 回复于2020-03

接着再来个Python逻辑回归模型应用举例

取UCI公共测试数据库中的澳大利亚信贷批准数据集作为本例的数据集,该数据集共有14个特征数据,1个分类标签y(1-同意贷款,0-不同意贷款),共690个申请者记录,部分数据如表

x1 x2  x3 x4 x5 x6 ... x13 x14 y
1 22.09 11.46 2 4 5   100 1213 0
0
回复
水水水的老师
#11 回复于2020-03
接着再来个Python逻辑回归模型应用举例 取UCI公共测试数据库中的澳大利亚信贷批准数据集作为本例的数据集,该数据集共有14个特征数据,1个分类标签y(1-同意贷款,0-不同意贷款),共690个申请者记录,部分数据如表 x1 x2  x3 x4 x5 x6 ... x13 x14 y 1 22.09 11.46 2 4 5   100 1213 0
展开

数据下载地址为: http://archive.ics.uci.edu/ml/machine-learning-databases/statlog/australian/

0
回复
水水水的老师
#12 回复于2020-03
接着再来个Python逻辑回归模型应用举例 取UCI公共测试数据库中的澳大利亚信贷批准数据集作为本例的数据集,该数据集共有14个特征数据,1个分类标签y(1-同意贷款,0-不同意贷款),共690个申请者记录,部分数据如表 x1 x2  x3 x4 x5 x6 ... x13 x14 y 1 22.09 11.46 2 4 5   100 1213 0
展开

以前面600个申请者作为训练数据,后90个申请者作为测试数据,利用逻辑回归模型预测其准确率。

0
回复
水水水的老师
#13 回复于2020-03

首先是数据获取

import pandas as pd 
data = pd.read_excel('credit.xlsx')

 

0
回复
水水水的老师
#14 回复于2020-03

然后训练样本与测试样本划分,其中训练用的特征数据用x表示,预测变量用y表示,测试样本则分别记为x1和y1。

x = data.iloc[:600,:14].as_matrix()  
y = data.iloc[:600,14].as_matrix()
x1= data.iloc[600:,:14].as_matrix()
y1= data.iloc[600:,14].as_matrix()
0
回复
水水水的老师
#15 回复于2020-03

接着进行逻辑回归分析,其基本步骤如下

(1)导入逻辑回归模块,简称为LR
from sklearn.linear_model import LogisticRegression as LR
(2)利用LR创建逻辑回归类lr
lr = LR() 
(3)调用lr中的fit()方法进行训练
lr.fit(x, y) 
(4)调用lr中的score()方法,返回其模型准确率
r=lr.score(x, y); # 模型准确率(针对训练数据)
(5)调用lr中的predict()方法,对测试样本进行预测,获得其预测结果
R =lr.predict(x1)
0
回复
水水水的老师
#16 回复于2020-03
接着进行逻辑回归分析,其基本步骤如下 [代码]

预测结果为: [0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 1 0] 预测准确率为: 0.8333333333333334

0
回复
C
CF_FC
#17 回复于2020-03

大佬经常分享啊!学习!

0
回复
Action
#18 回复于2020-03

何不开设项目

0
回复
水水水的老师
#19 回复于2020-03
Action #18
何不开设项目

项目开设难度更高的  我得花一天时间才能写好的

0
回复
水水水的老师
#20 回复于2020-03
Action #18
何不开设项目

最近准备开设个推荐系统算法的系列notebook

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户