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 Socket编程入门教程
Jul 11 Python
详解Python 模拟实现生产者消费者模式的实例
Aug 10 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
python使用pycharm环境调用opencv库
Feb 11 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
Windows下安装Scrapy
Oct 17 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
Django models.py应用实现过程详解
Jul 29 Python
Jupyter notebook如何修改平台字体
May 13 Python
django 解决扩展自带User表遇到的问题
May 14 Python
Python通过Schema实现数据验证方式
Nov 12 Python
pandas 数据类型转换的实现
Dec 29 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 引用文件技巧
2010/03/02 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
js选项卡的实现方法
2015/02/09 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
canvas时钟效果
2017/02/16 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
Javascript获取某个月的天数
2018/05/30 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
python获取当前计算机cpu数量的方法
2015/04/18 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
优秀小学生家长评语
2014/01/30 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
暑假学习心得体会
2014/09/02 职场文书
查摆问题整改措施
2014/10/24 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
地心历险记观后感
2015/06/15 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书