python实现简单的单变量线性回归方法


Posted in Python onNovember 08, 2018

线性回归是机器学习中的基础算法之一,属于监督学习中的回归问题,算法的关键在于如何最小化代价函数,通常使用梯度下降或者正规方程(最小二乘法),在这里对算法原理不过多赘述,建议看吴恩达发布在斯坦福大学上的课程进行入门学习。

这里主要使用python的sklearn实现一个简单的单变量线性回归。

sklearn对机器学习方法封装的十分好,基本使用fit,predict,score,来训练,预测,评价模型,

一个简单的事例如下:

from pandas import DataFrame
from pandas import DataFrame
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets,linear_model
 
X=[]
Y=[]
with open("C:\\Users\\www\\ex1data1.txt","r") as f:  #读取txt文件。
 for line in f:
  p_tmp, E_tmp = [float(i) for i in line.split(',')]
  X.append(p_tmp)
  Y.append(E_tmp)
 #'data=np.loadtxt('ex1data1.txt',delimiter=',')
# X=data[0]
# Y=data[1]
data=DataFrame(X,columns={'a'})
data['b']=b
X=DataFrame(X)
 
fig = plt.figure()         
ax1 = fig.add_subplot(1,1,1)
plt.scatter(data['a'],data['b'])   #显示X,Y的散点图
 
def linear_model_main(X,Y,predict_value): #定义一个使用线性回归的函数
 regr=linear_model.LinearRegression()
 regr.fit(X,Y)  #训练模型
 predict_output=regr.predict(predict_value) #预测
 predictions={}        #用一个集合装以下元素
 predictions['intercept']=regr.intercept_  #截距
 predictions['codfficient']=regr.coef_   #斜率(参数)
 predictions['predict_value']=predict_output  #预测值
 return predictions
 
result = linear_model_main(X,Y,1500)    #调用函数
print(result['predict_value'])
 
 
def show_predict(X,Y):
 regr=linear_model.LinearRegression()
 regr.fit(X,Y) 
 plt.scatter(X,Y,color='blue')
 plt.plot(X,regr.predict(X),color='red')
 
show_predict(X,Y)

最后拟合结果如图:

python实现简单的单变量线性回归方法

以上这篇python实现简单的单变量线性回归方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用Python实现颜色色值转换的小工具
Oct 27 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
Python 专题三 字符串的基础知识
Mar 19 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
python爬取淘宝商品销量信息
Nov 16 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
将数据集制作成VOC数据集格式的实例
Feb 17 Python
在jupyter notebook 添加 conda 环境的操作详解
Apr 10 Python
如何在Python对Excel进行读取
Jun 04 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
python/sympy求解矩阵方程的方法
Nov 08 #Python
python生成lmdb格式的文件实例
Nov 08 #Python
python实现嵌套列表平铺的两种方法
Nov 08 #Python
python用列表生成式写嵌套循环的方法
Nov 08 #Python
在Python中实现shuffle给列表洗牌
Nov 08 #Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 #Python
对Python 3.5拼接列表的新语法详解
Nov 08 #Python
You might like
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
PHP函数http_build_query使用详解
2014/08/20 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
在模板页面的js使用办法
2010/04/01 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
python函数形参用法实例分析
2015/08/04 Python
Python中实现最小二乘法思路及实现代码
2018/01/04 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
Python 3 实现定义跨模块的全局变量和使用教程
2019/07/07 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
自立自强的名人事例
2014/02/10 职场文书
中国好声音华少广告词
2014/03/17 职场文书
企业领导对照检查材料
2014/08/20 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
2016年感恩节寄语
2015/12/07 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸