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来编写HTTP服务器的超级指南
Feb 18 Python
Python 实现随机数详解及实例代码
Apr 15 Python
对Python发送带header的http请求方法详解
Jan 02 Python
用python写测试数据文件过程解析
Sep 25 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
用python对excel进行操作(读,写,修改)
Dec 25 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
Feb 07 Python
详细介绍python类及类的用法
May 31 Python
python tqdm用法及实例详解
Jun 16 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 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设计模式 Strategy(策略模式)
2011/06/26 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
培养自己的php编码规范
2015/09/28 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
javascript 常用关键字列表集合
2007/12/04 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
详解webpack介绍&安装&常用命令
2017/06/29 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
python中遍历文件的3个方法
2014/09/02 Python
Python中设置变量作为默认值时容易遇到的错误
2015/04/03 Python
编写简单的Python程序来判断文本的语种
2015/04/07 Python
python实现百度语音识别api
2018/04/10 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
编写python代码实现简单抽奖器
2020/10/20 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
一套PHP的笔试题
2013/05/31 面试题
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
李强优秀员工观后感
2015/06/16 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python