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安装路径以及安装包路径小技巧
Apr 28 Python
利用python写个下载teahour音频的小脚本
May 08 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
详解flask表单提交的两种方式
Jul 21 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
Aug 06 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
Aug 26 Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 Python
Python tcp传输代码实例解析
Mar 18 Python
python如何调用百度识图api
Sep 29 Python
Python基于unittest实现测试用例执行
Nov 25 Python
python热力图实现的完整实例
Jun 25 Python
Python如何利用pandas读取csv数据并绘图
Jul 07 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
PHP 操作文件的一些FAQ总结
2009/02/12 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
详解php协程知识点
2018/09/21 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
Python笔记(叁)继续学习
2012/10/24 Python
Python中使用dom模块生成XML文件示例
2015/04/05 Python
如何将python中的List转化成dictionary
2016/08/15 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
详解python polyscope库的安装和例程
2020/11/13 Python
最新pycharm安装教程
2020/11/18 Python
苹果美国官方商城:Apple美国
2016/08/24 全球购物
Java如何调用外部Exe程序
2015/07/04 面试题
软件部经理岗位职责范本
2014/02/25 职场文书
优秀共产党员先进事迹材料
2014/05/06 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
2015年党风廉政承诺书
2015/01/22 职场文书
升学宴来宾致辞
2015/07/27 职场文书
学校团代会开幕词
2016/03/04 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
Java并发编程必备之Future机制
2021/06/30 Java/Android
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技