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语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
随机推荐
- WMSYS.WM_CONCAT(distinct(字段名)) 函数,字符串拼接函数。合并列
合并列函数 WMSYS.WM_CONCAT(distinct(字段名)) 函数 可以实现字符串拼接在一起,这种情况可以在要求把一个字段的多个值拼接在一起的时候使用.其中distinct可以去掉重复的值 ...
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- Python的高级特性1:容易忽略的不可变类型
python中有一些容易忽略的不可变类型(str,integer,tuple,None) #错误演示 In [45]: def demo(lst=[]): ....: lst.append(" ...
- 关于IOS免证书真机安装的过程和问题
由于本人是边工作边转的IOS,所以一直都没怎么使用过免证书安装过程,通常都是公司申请的99美元的账号直接开发.但是前两天有个朋友需要在展会上用的Ipad上安装内网应用,申请一个苹果账号还要审核前后加起 ...
- dubbo2.5.3 与spring 3.1.x 冲突
在集成了dubbo2.5.3 的项目中初始化出现 MalformedParameterizedTypeException 检查发现这是因为dubbo2.5.3依赖的springframeworks是2 ...
- Hilbert-Huang Transform: matlab 希尔伯特-黄变换: matlab实现
关于Hilbert-Huang的matlab实现,材料汇总,比较杂...感谢所有网络上的贡献者们:) 核心:以下代码计算HHT边际谱及其对应频率 工具包要求:G-Rilling EMD Toolbox ...
- NET Core项目定义Item Template
NET Core项目定义Item Template 作为这个星球上最强大的IDE,Visual Studio不仅仅提供了很多原生的特性,更重要的是它是一个可定制的IDE,比如自定义Project Te ...
- nginx认证配置
rpm -qa|grep httpd-tools yum install httpd-tools ###这样不仅可以使用ab工具,还可以使用htpasswd工具了 虚拟主机 ->&g ...
- 工作随笔——Java调用Groovy类的方法、传递参数和获取返回值
接触Groovy也快一年了,一直在尝试怎么将Groovy引用到日常工作中来.最近在做一个功能的时候,花了点时间重新看了下Java怎么调用Groovy的方法.传递参数和获取返回值. 示例Groovy代码 ...
- 如何用 Nodejs 分析一个简单页面
本文目的 在浏览器地址栏中输入 localhost:3000,在页面显示 博客园首页 的 20 篇文章标题. 过程分析 首先需要端口的监听,这就需要引入 Node 中最重要的模块之一 express. ...