线性回归的模型是:y=theta0*x+theta1   其中theta0,theta1是我们希望得到的系数和截距。

下面是代码实例:

1. 用自定义数据来看看格式:

# -*- coding:utf-8 -*-

from sklearn import linear_model
from resys.SplitData import *
from numpy import *
import matplotlib.pyplot as plt ## 注意:
## python线性回归的数据输入格式
## x的每个值以列表格式存在
x=[[150.0],[200.0],[250.0],[300.0],[350.0],[400.0],[600.0]]
y=[6450.0,7450.0,8450.0,9450.0,11450.0,15450.0,18450.0]
x_test=800.0 #建模
regr=linear_model.LinearRegression()
regr.fit(x,y)
regr.score(x,y) #返回系数和截距
print("efficient :n", regr.coef_)
print("intercept :n",regr.intercept_) #预测
predicted=regr.predict(x_test)
print ("predicted results: n",predicted) # ----------------------------------------------------
# 描出训练点和拟合的直线
def show_linear_line(x,y):
regr=linear_model.LinearRegression()
regr.fit(x,y)
plt.scatter(x,y,color='blue')
plt.plot(x,regr.predict(x),color='red',linewidth=4)
plt.xticks(())
plt.yticks(())
plt.show() show_linear_line(x,y)

2. 从文件中读取数据:

# -*- coding:utf-8 -*-

from sklearn import linear_model
from resys.SplitData import *
from numpy import *
import matplotlib.pyplot as plt ## test是一个数据文件,包含4列,以tab分割
#我们只需要取出第一列来作为x, 第三列作为y
#然后把数据再分为两部分,训练集和测试集
data3=open("e:/python/movie_ratings/test.dat","r") xlist=[]
ylist=[] for data in data3:
xlist.append(''.join(str(data.split('\t')[0])))
ylist.append(''.join(str(data.split('\t')[2]))) data3.close() xlist_train,xlist_test=SplitData(xlist, 7, 3, 10) #SplitData是我自定义的切分函数
ylist_train,ylist_test=SplitData(ylist, 7, 3, 10) x_train=[] #这是第一种,把['1','2','3'] 转化为需要的[[1.0],[2.0],[3.0]]的方法
for i in xlist_train:
b=[]
b.append(float(i))
x_train.append(b) x_test=[] #第二种,更简便明了一些
for i in xlist_test:
x_test.append([float(i)]) y_train=[float(i) for i in ylist_train] #y格式要求很简单,[1.0, 2.0, 3.0]即可 #建模
linear=linear_model.LinearRegression()
linear.fit(x_train,y_train)
linear.score(x_train,y_train) # 返回系数和截距
print('Coefficient:n',linear.coef_)
print('Intercept:n',linear.intercept_) #预测
predicted=linear.predict(x_test)
print("predicted results:n",predicted) # ----------------------------------------------------
# 描出训练集;及拟合的直线
def show_linear_line(x,y):
regr=linear_model.LinearRegression()
regr.fit(x,y)
plt.scatter(x,y,color='blue')
plt.plot(x,regr.predict(x),color='red',linewidth=4)
plt.xticks(())
plt.yticks(())
plt.show() show_linear_line(x_train,y_train)

ml的线性回归应用(python语言)的更多相关文章

  1. google的python语言规范

    Python语言规范   Lint Tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less ...

  2. C、C++、C#、Java、php、python语言的内在特性及区别

    C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...

  3. sklearn:Python语言开发的通用机器学习库

    引言:深入理解机器学习并全然看懂sklearn文档,须要较深厚的理论基础.可是.要将sklearn应用于实际的项目中,仅仅须要对机器学习理论有一个主要的掌握,就能够直接调用其API来完毕各种机器学习问 ...

  4. 强者联盟——Python语言结合Spark框架

    引言:Spark由AMPLab实验室开发,其本质是基于内存的高速迭代框架,"迭代"是机器学习最大的特点,因此很适合做机器学习. 得益于在数据科学中强大的表现,Python语言的粉丝 ...

  5. 机器学习之线性回归(纯python实现)][转]

    本文转载自:https://juejin.im/post/5a924df16fb9a0634514d6e1 机器学习之线性回归(纯python实现) 线性回归是机器学习中最基本的一个算法,大部分算法都 ...

  6. Python 语言规范

    Python 语言规范 pychecker  对你的代码运行pychecker 定义: pychecker 是一个在Python 源代码中查找bug 的工具. 对于C 和C++这样的不那 么动态的( ...

  7. Python 语言规范(Google)

    Python语言规范 Lint tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dy ...

  8. 关于《selenium2自动测试实战--基于Python语言》

    关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...

  9. 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码

    Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...

  10. [Python学习笔记1]Python语言基础 数学运算符 字符串 列表

    这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...

随机推荐

  1. Win7安装visual c++ 2015 redistributable x64失败

    from:http://www.fxyoke.cn/forum.php?mod=viewthread&tid=1171 在win7中安装visual c++ 2015 redistributa ...

  2. ubuntu14.04安装sipp3.2

    本来在centos里不好装的软件,往往ubuntu里会很好装,但sipp恰恰相反,ubuntu里能装死你. 做VOIP测试的话,有时候为了模拟通话中更好的抓包,在环境简陋,又不想使用集线器引起广播风暴 ...

  3. 快速编写代码zencode

    #是 id .是class $是数字 {}是标签中内容 *个数 ^上一级

  4. IntelliJ IDEA 编译maven项目以及运行测试前编译项目

    Maven编译及命令行输出 右侧Maven Projects, 打开, 选取某个Project打开至Lifecycle/package 或其他任何一个lifecycle选项, 在上面右键Run Mav ...

  5. 统计:P值 & α值

    来源:知乎:P值与α值的关系 一楼 P是"拒绝原假设时犯错误概率"又或者说是"如果你拒绝掉原假设实际上是在冤枉好人的概率". 不管怎么表达理解上都有点绕,所以你 ...

  6. vue 滚动加载

    <template> <div class="wraper" @scroll="onScroll($event)"> <div c ...

  7. Padrino 生成器指南

    英文版出处:http://www.padrinorb.com/guides/generators Padrino提供了用于快速创建应用的生成器,其优势在于构建推荐的Padrino应用结构.自动生成罗列 ...

  8. java反射详解(转)

    本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象 ...

  9. scala 学习笔记(05) OOP(中)灵活的trait

    trait -- 不仅仅只是接口! 接上回继续,scala是一个非常有想法的语言,从接口的设计上就可以发现它的与众不同.scala中与java的接口最接近的概念是trait,见下面的代码: packa ...

  10. Python2.3-原理之语句和语法

    此节来自于<Python学习手册第四版>第三部分 一.python语句简介(第10章) 1.首先记得一个概念:a.程序由模块构成:b.模块包含语句:c.语句包含表达式:d.表达式建立并处理 ...