线性回归的Spark实现 [Linear Regression / Machine Learning / Spark]
1- 问题提出
2- 线性回归
3- 理论推导
4- Python/Spark实现
# -*- coding: utf-8 -*-
from pyspark import SparkContext theta = [0, 0]
alpha = 0.001 sc = SparkContext('local') def func_theta_x(x):
return sum([i * j for i, j in zip(theta, x)]) def cost(x):
thx = func_theta_x(x)
return thx - x[-1] def partial_theta(x):
dif = cost(x)
return [dif * i for i in x[:-1]] rdd = sc.textFile('/home/freyr/linearRegression.txt')\
.map(lambda line: map(float, line.strip().split('\t'))) maxiter = 400
iter = 0
while True:
parTheta = rdd.map(partial_theta)\
.reduce(lambda x, y: [i + j for i, j in zip(x, y)]) for i in range(2):
theta[i] = theta[i] - alpha * parTheta[i] iter += 1 if iter <= maxiter:
if sum(map(abs, parTheta)) <= 0.01:
print 'I get it!!!'
print 'Iter = %s' % iter
print 'Theta = %s' % theta
break
else:
print 'Failed...'
break
PS: 1. linearRegression.txt
线性回归的Spark实现 [Linear Regression / Machine Learning / Spark]的更多相关文章
- 逻辑回归的分布式实现 [Logistic Regression / Machine Learning / Spark ]
1- 问题提出 2- 逻辑回归 3- 理论推导 4- Python/Spark实现 # -*- coding: utf-8 -*- from pyspark import SparkContext f ...
- Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
原文:http://blog.csdn.net/abcjennifer/article/details/7732417 本文为Maching Learning 栏目补充内容,为上几章中所提到单参数线性 ...
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- flink 批量梯度下降算法线性回归参数求解(Linear Regression with BGD(batch gradient descent) )
1.线性回归 假设线性函数如下: 假设我们有10个样本x1,y1),(x2,y2).....(x10,y10),求解目标就是根据多个样本求解theta0和theta1的最优值. 什么样的θ最好的呢?最 ...
- 机器学习-----线性回归浅谈(Linear Regression)
Linear Regreesion 在现实生活中普遍存在着变量之间的关系,有确定的和非确定的.确定关系指的是变量之间可以使用函数关系式表示,还有一种是属于非确定的(相关),比如人的身 ...
- 线性回归浅谈(Linear Regression)
在现实生活中普遍存在着变量之间的关系,有确定的和非确定的.确定关系指的是变量之间可以使用函数关系式表示,还有一种是属于非确定的(相关),比如人的身高和体重,一样的身高体重是不一样的. 线性 ...
- ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS
ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...
- 线性回归 Linear regression(3) 线性回归的概率解释
这篇博客从一种方式推导了Linear regression 线性回归的概率解释,内容来自Standford公开课machine learning中Andrew老师的讲解. 线性回归的概率解释 在Lin ...
- 从损失函数优化角度:讨论“线性回归(linear regression)”与”线性分类(linear classification)“的联系与区别
1. 主要观点 线性模型是线性回归和线性分类的基础 线性回归和线性分类模型的差异主要在于损失函数形式上,我们可以将其看做是线性模型在多维空间中“不同方向”和“不同位置”的两种表现形式 损失函数是一种优 ...
随机推荐
- iOS8 StoryBoard 连线diss方法
添加自定义Dismiss类: // Dismiss.h // StoryBoardTest // // Created by zhujin on 14/12/23. // Copyright ...
- IronPython 设置包路径
C#中添加对python文件或者对python包的引用时出现"no module .."的问题时的解决办法. 对hello.py 做一些简单的修改 添加 import syssys ...
- [原创博文] 用Python做统计分析 (Scipy.stats的文档)
[转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...
- $.ajax()引发的对Deferred的总结
传统的ajax写法: $.ajax({ url:"1.json", type:"get", success:function(data){}, error:fu ...
- mssqlserver 批量插入示例
public bool DoQuestionSqlBulkCopy(DataTable dtDoQuestion, string DoQuestionName, ...
- tarjan 边双连通分量 对点进行分组 每组点都在一个双连通分量里边
int dfn[N],low[N],id[N],s[N],p,num,t,son[N];//dfn记录dfs时间戳//low代表当前点到达的最小时间戳,id对点进行分组编号.num是时间戳//s临时存 ...
- Rolling Cursor Invalidations with DBMS_STATS.AUTO_INVALIDATE (文档 ID 557661.1)
Rolling Cursor Invalidations with DBMS_STATS.AUTO_INVALIDATE (文档 ID 557661.1) 转到底部 In this Documen ...
- 11-UIView与核心动画对比
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- OC基础(12)
new方法实现原理 类的本质 类的启动过程 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bo ...
- OS X 升级 Yosemite 后,Intellij IDEA 与 VirtualBox 启动失败
报错: Dyld Error Message: Symbol not found: _CGContextSetAllowsAcceleration Referenced from: /Library/ ...