python编程线性回归代码示例


Posted in Python onDecember 07, 2017

 用python进行线性回归分析非常方便,有现成的库可以使用比如:numpy.linalog.lstsq例子、scipy.stats.linregress例子、pandas.ols例子等。

不过本文使用sklearn库的linear_model.LinearRegression,支持任意维度,非常好用。

一、二维直线的例子

预备知识:线性方程y=a∗x+b。y=a∗x+b表示平面一直线

下面的例子中,我们根据房屋面积、房屋价格的历史数据,建立线性回归模型。

然后,根据给出的房屋面积,来预测房屋价格。这里是数据来源

import pandas as pd 
from io import StringIO  
from sklearn import linear_model  
import matplotlib.pyplot as plt 
# 房屋面积与价格历史数据(csv文件) 
csv_data = 'square_feet,price\n150,6450\n200,7450\n250,8450\n300,9450\n350,11450\n400,15450\n600,18450\n' 
 
# 读入dataframe 
df = pd.read_csv(StringIO(csv_data)) 
print(df)  
# 建立线性回归模型 
regr = linear_model.LinearRegression()  
# 拟合 
regr.fit(df['square_feet'].reshape(-1, 1), df['price']) # 注意此处.reshape(-1, 1),因为X是一维的! 
# 不难得到直线的斜率、截距 
a, b = regr.coef_, regr.intercept_ 
 
# 给出待预测面积 
area = 238.5 
 
# 方式1:根据直线方程计算的价格 
print(a * area + b) 
# 方式2:根据predict方法预测的价格 
print(regr.predict(area))  
# 画图 
# 1.真实的点 
plt.scatter(df['square_feet'], df['price'], color='blue')  
# 2.拟合的直线 
plt.plot(df['square_feet'], regr.predict(df['square_feet'].reshape(-1,1)), color='red', linewidth=4) 
 
plt.show()

python编程线性回归代码示例

二、三维平面的例子

预备知识:线性方程z=a∗x+b∗y+c。z=a∗x+b∗y+c 表示空间一平面

由于找不到真实数据,只好自己虚拟一组数据。

import numpy as np  
from sklearn import linear_model  
from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt  
xx, yy = np.meshgrid(np.linspace(0,10,10), np.linspace(0,100,10)) 
zz = 1.0 * xx + 3.5 * yy + np.random.randint(0,100,(10,10))  
# 构建成特征、值的形式 
X, Z = np.column_stack((xx.flatten(),yy.flatten())), zz.flatten() 
 
# 建立线性回归模型 
regr = linear_model.LinearRegression() 
 
# 拟合 
regr.fit(X, Z) 
# 不难得到平面的系数、截距 
a, b = regr.coef_, regr.intercept_  
# 给出待预测的一个特征 
x = np.array([[5.8, 78.3]])  
# 方式1:根据线性方程计算待预测的特征x对应的值z(注意:np.sum) 
print(np.sum(a * x) + b)  
# 方式2:根据predict方法预测的值z 
print(regr.predict(x))  
# 画图 
fig = plt.figure() 
ax = fig.gca(projection='3d')  
# 1.画出真实的点 
ax.scatter(xx, yy, zz) 
# 2.画出拟合的平面 
ax.plot_wireframe(xx, yy, regr.predict(X).reshape(10,10)) 
ax.plot_surface(xx, yy, regr.predict(X).reshape(10,10), alpha=0.3) 

plt.show()

效果图

python编程线性回归代码示例

总结

以上就是本文关于python编程线性回归代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
一个简单的python程序实例(通讯录)
Nov 29 Python
python编写的最短路径算法
Mar 25 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
Python Web程序部署到Ubuntu服务器上的方法
Feb 22 Python
在python中利用最小二乘拟合二次抛物线函数的方法
Dec 29 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
python+tkinter实现学生管理系统
Aug 20 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
详解python中GPU版本的opencv常用方法介绍
Jul 24 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
基于Django的ModelForm组件(详解)
Dec 07 #Python
利用python编写一个图片主色转换的脚本
Dec 07 #Python
python八大排序算法速度实例对比
Dec 06 #Python
Python语言实现将图片转化为html页面
Dec 06 #Python
Python实现比较扑克牌大小程序代码示例
Dec 06 #Python
Python3简单实例计算同花的概率代码
Dec 06 #Python
Python基于回溯法解决01背包问题实例
Dec 06 #Python
You might like
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
重定向实现代码
2006/11/20 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
python中defaultdict的用法详解
2017/06/07 Python
详解Python用户登录接口的方法
2019/04/17 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
德国珠宝和配件商店:Styleserver
2021/02/23 全球购物
大学生怎样进行自我评价
2013/12/07 职场文书
上课打牌的检讨书
2014/02/15 职场文书
党员承诺书怎么写
2014/05/20 职场文书
调研汇报材料范文
2014/08/17 职场文书
单位在职证明书
2014/09/11 职场文书
市场总监岗位职责
2015/02/11 职场文书
创业计划书详解
2019/07/19 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
python多次执行绘制条形图
2022/04/20 Python
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python