线性回归的模型是: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. HTML 学习笔记 CSS3 (文本效果)

    text-shadow 语法 text-shadow : none | <length> none | [<shadow>, ] * <shadow> 或none ...

  2. MySQL与MongoDB的操作对比,以及区别

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...

  3. 表单 - Form - EasyUI提供的表单异步提交

    方案一 被提交的表单 <form id="loginForm" method="post"> <table align="cente ...

  4. 小tips: 使用&#x3000;等空格实现最小成本中文对齐

    一.重见天日第二春 11年的时候,写了篇文章“web页面相关的一些常见可用字符介绍”,这篇文章里面藏了个好东西,就是使用一些空格实现个数不等的中文对齐或等宽.见下表: 字符以及HTML实体 描述以及说 ...

  5. Codevs 1860 最大数 string大法好,STL万岁。。

    题目描述 Description 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 输入描述 Input Description 第一行一个正整数n. 第二行n个正整数,空格隔开 ...

  6. .net core注入时作用域的说明

    Transient:每次获取实例都是新实例. Scoped:每次web请求都是新实例,在同一web请求是相同的实例. Singleton:实例只创建一次,以后的每次获取都是这一实例.

  7. jinja模版

    实现不同机器的差异化配置                 把apache监听的端口统一改为8080     把配置文件files/httpd.conf 文件做成模版         修改lamp.sl ...

  8. ZooKeeper 笔记(2) 监听数据变化

    ZK中的每个节点都可以存储一些轻量级的数据,这些数据的变化会同步到集群中的其它机器.在应用中程序员可以添加watcher来监听这些数据的变化,watcher只会触发一次,所以触发过后想要继续监听,必须 ...

  9. 深度学习(deep learning)

    最近deep learning大火,不仅仅受到学术界的关注,更在工业界受到大家的追捧.在很多重要的评测中,DL都取得了state of the art的效果.尤其是在语音识别方面,DL使得错误率下降了 ...

  10. logstash搭建日志追踪系统

    前言 开始博客之前,首先说下10月份没写博客的原因 = =. 10月份赶上国庆,回了趟老家休息了下,回来后自己工作内容发生了点改变,开始搞一些小架构的东西以及研究一些新鲜东西,当时我听到这个消息真的是 ...