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之用while来循环
Oct 02 Python
Python实现查找系统盘中需要找的字符
Jul 14 Python
Python 爬虫学习笔记之正则表达式
Sep 21 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
python 删除非空文件夹的实例
Apr 26 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
Python实现定时自动关闭的tkinter窗口方法
Feb 16 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
May 12 Python
python如何删除文件、目录
Jun 23 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
Mar 03 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
swfupload 多文件上传实现代码
2008/08/27 PHP
php中stream(流)的用法
2014/03/25 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
php mongodb操作类 带几个简单的例子
2016/08/25 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
javascript学习之json入门
2016/12/22 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python中防止sql注入的方法详解
2017/02/25 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python实现泊松图像融合
2018/07/26 Python
python 格式化输出百分号的方法
2019/01/20 Python
在python里从协程返回一个值的示例
2019/02/19 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
采用怎样的方法保证数据的完整性
2013/12/02 面试题
计算机网络专业推荐信
2013/11/24 职场文书
专营店会计助理岗位职责
2013/11/29 职场文书
上课睡觉检讨书
2014/01/28 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
小露珠教学反思
2014/04/30 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang