ml的线性回归应用(python语言)
线性回归的模型是: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语言)的更多相关文章
- google的python语言规范
Python语言规范 Lint Tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less ...
- C、C++、C#、Java、php、python语言的内在特性及区别
C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...
- sklearn:Python语言开发的通用机器学习库
引言:深入理解机器学习并全然看懂sklearn文档,须要较深厚的理论基础.可是.要将sklearn应用于实际的项目中,仅仅须要对机器学习理论有一个主要的掌握,就能够直接调用其API来完毕各种机器学习问 ...
- 强者联盟——Python语言结合Spark框架
引言:Spark由AMPLab实验室开发,其本质是基于内存的高速迭代框架,"迭代"是机器学习最大的特点,因此很适合做机器学习. 得益于在数据科学中强大的表现,Python语言的粉丝 ...
- 机器学习之线性回归(纯python实现)][转]
本文转载自:https://juejin.im/post/5a924df16fb9a0634514d6e1 机器学习之线性回归(纯python实现) 线性回归是机器学习中最基本的一个算法,大部分算法都 ...
- Python 语言规范
Python 语言规范 pychecker 对你的代码运行pychecker 定义: pychecker 是一个在Python 源代码中查找bug 的工具. 对于C 和C++这样的不那 么动态的( ...
- Python 语言规范(Google)
Python语言规范 Lint tip 对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具. 对于C和C++这样的不那么动态的(译者注: 原文是less dy ...
- 关于《selenium2自动测试实战--基于Python语言》
关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
随机推荐
- window对象的screen详解
screen.availHeight 返回屏幕的高度(不包括Windows任务栏)screen.availWidth 返回屏幕的宽度(不包括Windows任务栏)screen.colo ...
- ASP.NET MVC图片上传前预览
回老家过春节,大半个月,在家的日子里,吃好睡好,人也长了3.5Kg.没有电脑,没有网络,无需写代码,工作上相关的完全放下......开心与父母妻儿过个年,那样的生活令Insus.NET现在还在留恋.. ...
- [转]PHP 下使用 ZeroMQ 和 protobuf
FROM : http://www.68idc.cn/help/makewebs/php/20150118175432.html 前言 这个记录总的来说分两部分: 搭建环境. 简单使用教程. 搭建环境 ...
- Spring 4.0.2 学习笔记(1) - 最基本的注入
1. 添加maven支持 <dependency> <groupId>org.springframework</groupId> <artifactId> ...
- Hibernate3.3.2 手动配置annotation环境
简单记录Hibernate3.3.2如何快速配置环境 一.下载hibernate-distribution-3.3.2.GA-dist.zip文件,建立User libraries. 打开window ...
- 【传递智慧】C++基础班公开课第六期培训
11月11日 二 213 进程间关系和守护进程 11月12日 三 213 信号 11月13日 四 11月14日 五 213 线程(创建,销毁,回收) 11月15日 六 213 线程同步机制 1 ...
- 在线音乐网站【04】Part two 功能实现
上一篇博客里面已近总结了三个功能的具体实现,今天把剩余功能的具体实现补充总结,如果你想对整个小项目有清楚的了解,建议去看下前几篇博客. 1.在线音乐网站(1)需求和功能结构 2.在线音乐网站(2 ...
- sql基本命令
--------------------------------------------------------SQL基本命令开始----------------------------------- ...
- Scala入门详解
object作为Scala中的一个关键字,相当于Java中的public static class这样的一个修饰符,也就说object中的成员都是静态的! 所以我们在这个例子中的main方法是静态的, ...
- Bootstrap系列 -- 2. 标题
一. Bootstrap标题 在Bootstrap中使用标题和Html本身没有太大的区别使用h1-h6, 而Bootstrap只是默认修改了H1-h6的样式,网上找到如下资料参考 二. Bootstr ...