【深度学习基础-12】多元回归分析基础及进阶-python代码实现
2019-01-14 10:46
971 查看
版权声明:本文为博主原创文章,未经允许,不得转载!欢迎留言附带链接转载! https://blog.csdn.net/qq_15698613/article/details/86425055
目录
2 使用python实现上述过程,并预测,x1=102,x2=6时的结果
1 多元线性回归基本理论
1.1 multiple regression
多个自变量x
1.2 多元回归模型
1.3 多元回归方程
1.4 估计多元回归方程
1.5 估计流程(与简单线性回归类似)
1.6 估计方法
1.7 例子
x1 | x2 | y | |
1 | 100 | 4 | 9.3 |
2 | 50 | 3 | 4.8 |
3 | 100 | 4 | 8.9 |
4 | 100 | 2 | 6.5 |
5 | 50 | 2 | 4.2 |
6 | 80 | 2 | 6.2 |
7 | 75 | 3 | 7.4 |
8 | 65 | 4 | 6.0 |
9 | 90 | 3 | 7.6 |
10 | 90 | 2 | 6.1 |
假设计算出来的b0=-0.869 , b1 = 0.0611 , b2 = 0.923,理解,x1加1,则y变化0.0611
2 使用python实现上述过程,并预测,x1=102,x2=6时的结果
[code]from numpy import genfromtxt import numpy as np from sklearn import datasets, linear_model dataPath = r"F:/python/实验/diliver.csv" data =genfromtxt(dataPath,delimiter=',') print("数据:") print(data) x = data[:, :-1] y = data[:, -1] print(x) print(y) regr = linear_model.LinearRegression() regr.fit(x, y) print("从b1开始输出参数预测") print(regr.coef_) print("b0的结果,截面:") print(regr.intercept_) #假如x1=102,x2=6,预测新值 xp = [[102, 6]] print(xp) yp = regr.predict(xp) print("预测出来的值:") print(yp)
运行结果:
3 进阶:如果自变量x中有不同种类怎么解决?
x1 | x2 | 分类 | y | |
1 | 100 | 4 | 1 | 9.3 |
2 | 50 | 3 | 0 | 4.8 |
3 | 100 | 4 | 1 | 8.9 |
4 | 100 | 2 | 2 | 6.5 |
5 | 50 | 2 | 2 | 4.2 |
6 | 80 | 2 | 1 | 6.2 |
7 | 75 | 3 | 1 | 7.4 |
8 | 65 | 4 | 2 | 6.0 |
9 | 90 | 3 | 2 | 7.6 |
分类型变量不能直接将分类作为一个参数直接加入,因为1,2,0都没有实际意义,只是用来区分种类
将上述表格的分类进行变换,将种类个数变为列数,如果属于哪一类就为1,其它为0
x1 | x2 | 0 | 1 | 2 | y | |
1 | 100 | 4 | 0 | 1 | 0 | 9.3 |
2 | 50 | 3 | 1 | 0 | 0 | 4.8 |
3 | 100 | 4 | 0 | 1 | 0 | 8.9 |
4 | 100 | 2 | 0 | 0 | 1 | 6.5 |
5 | 50 | 2 | 0 | 0 | 1 | 4.2 |
6 | 80 | 2 | 0 | 1 | 0 | 6.2 |
7 | 75 | 3 | 0 | 1 | 0 | 7.4 |
8 | 65 | 4 | 0 | 0 | 1 | 6.0 |
9 | 90 | 3 | 0 | 0 | 1 | 7.6 |
[code]#本程序是用来多元线性回归分析中,自变量含有类别时如何处理 from numpy import genfromtxt import numpy as np from sklearn import datasets, linear_model dataPath = r"F:/python/实验/PreDiliver.csv" data =genfromtxt(dataPath,delimiter=',') print("数据:") print(data) x = data[:, :-1] y = data[:, -1] print(x) print(y) regr = linear_model.LinearRegression() regr.fit(x, y) print("从b1开始输出参数预测:b1,b2,b3,b4,b5") print(regr.coef_) print("b0的结果,截面:") print(regr.intercept_) #假如x1=102,x2=6,第1类,预测新值 xp = [[102, 6, 0, 1, 0]] print(xp) yp = regr.predict(xp) print("预测出来的值:") print(yp)
结果:
相关文章推荐
- 深度学习论文-神经网络的代码实现(python版本)
- Coursera deeplearning.ai 深度学习笔记4-1-Foundations of Convolutional Neural Networks-卷积神经网络基础及代码实现
- 吴恩达 深度学习第三周 浅层神经网络 logistic_regression python代码实现
- 深度学习笔记一:BP神经网络的介绍和Python代码实现(2)
- 深度学习笔记-第3章-《深度学习入门——基于Python的理论与实现》的代码解说
- Python实现深度学习之-神经网络识别手写数字(更新中,更新日期:2017-07-12)
- 深度学习笔记一:BP神经网络的介绍和Python代码实现(1)
- [深度学习]Python/Theano实现逻辑回归网络的代码分析
- 深度基础学习:Decision Tree 代码实现
- 深度学习基础-决策树应用(python实现)
- 深度学习FPGA实现基础知识7(深度学习Matlab工具箱代码详解)
- 深度学习FPGA实现基础知识12(CSDN网友--深度学习总结)
- 深度学习-BP神经网络(python3代码实现)
- 开源的深度学习工具包,深度学习模型的python代码实现
- [深度学习]Python/Theano实现逻辑回归网络的代码分析
- android基础学习(1)-------代码方式实现布局
- python学习系列之python装饰器基础(3)---装饰器实现用户登录验证
- 用python做的一个好玩的问候代码-学习笔记12
- python 进阶学习之12
- 深度学习FPGA实现基础知识11(向专家致敬--吴恩达)