python版 mapreduce 矩阵相乘】的更多相关文章

参考张老师的mapreduce 矩阵相乘. 转载请注明:来自chybot的学习笔记http://i.cnblogs.com/EditPosts.aspx?postid=4541939 下面是我用python版本的mapreduce 矩阵相乘. 矩阵相乘的思路详见张老师的博客,对于两个矩阵m1和m2,mapreduce的计算过程如下: 这里面最主要的地方是key的构成,map输出的key是相乘后的矩阵的下标,比如c[i][j] = sum(A[i][:]*B[:][j]). 注意:该实现知识矩阵相…
对于矩阵A[mn]*B[nl]=C[ml].这里可以并行起来的就是每个Cij,对于Cij而言,他是由A的第i行和B的第j列相乘得到.由于大的矩阵中经常是稀疏矩阵,所以一般用行列值表示 例如对于A: 1 2 3 4 5 0 7 8 9 10 11 12 他的行列值表为: 1 1 1 1 2 2 1 3 3 2 1 4 2 2 5 3 1 7 3 2 8 3 3 9 4 1 10 4 2 11 4 3 12 对于B: 10 15 0 2 11 9 行列值: 1 1 10 1 2 15 2 2 2 3…
看到一篇不知道是好好玩还是好玩玩童鞋的博客,发现一道好玩的mapreduce题目,地址http://www.cnblogs.com/songhaowan/p/7239578.html 如图 由于自己太笨,看到一大堆java代码就头晕.心慌,所以用python把这个题目研究了一下. 题目:寻找共同好友.比如A的好友中有C,B的好友中有C,那么C就是AB的共同好友. A:B,C,D,F,E,O B:A,C,E,K C:F,A,D,I D:A,E,F,L E:B,C,D,M,L F:A,B,C,D,E…
算法原理 map阶段 在map阶段,需要做的是进行数据准备.把来自矩阵A的元素aij,标识成p条<key, value>的形式,key="i,k",(其中k=1,2,...,p),value="a:j,aij":把来自矩阵B的元素bij,标识成m条<key, value>形式,key="k,j"(其中k=1,2,...,m),value="b:i,bij". 经过处理,用于计算cij需要的a.b就转变为…
                                      稀疏矩阵相乘-Python版 Given two sparse matrices A and B, return the result of AB. You may assume that A's column number is equal to B's row number. Example: A = [ [ 1, 0, 0], [-1, 0, 3] ] B = [ [ 7, 0, 0 ], [ 0, 0, 0 ],…
矩阵相乘能够查看百度百科的解释http://baike.baidu.com/view/2455255.htm?fr=aladdin 有a和b两个矩阵 a:                1   2   3 4   5   0 7   8   9 10  11  12 b:              10  15 0     2 11   9 c = a*b 1:将矩阵存到HDFS中: 矩阵a: 行 列 值 hdfs存储 1 1 1 1,1,1 1 2 2 1,2,2 1 3 3 1,3,3 2…
一.单个mapreduce的实现 转自:http://blog.sina.com.cn/s/blog_62186b460101ai1x.html 王斌_ICTIR老师的<大数据:互联网大规模数据挖掘与分布式处理>,下面是对第二章提到的的单轮计算矩阵乘法进行的学习实现过程. 矩阵的乘法只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有定义.一般单指矩阵乘积时,指的便是一般矩阵乘积.若A为i×r矩阵,B为r×j矩阵,则他们的乘积AB(有时记做A · B)会是一个i×j矩阵…
前文 在<利用Hadoop实现超大矩阵相乘之我见(一)>中我们所介绍的方法有着“计算过程中文件占用存储空间大”这个缺陷,本文中我们着重解决这个问题. 矩阵相乘计算思想 传统的矩阵相乘方法为行.列相乘的方式,即利用左矩阵的一行乘以右矩阵的一列.不过该方法针对稀疏矩阵相乘,会造成过多的无效计算,降低计算效率.为了解决这个问题,本发明采用列.行相乘计算方式,即利用左矩阵的一列中的元素与右矩阵对应行中的所有元素依次相乘,该方法有效避免了稀疏矩阵相乘过程中产生的无效计算.具体计算过程示意图如图1所示.…
前记 最近,公司一位挺优秀的总务离职,欢送宴上,她对我说“你是一位挺优秀的程序员”,刚说完,立马道歉说“对不起,我说你是程序员是不是侮辱你了?”我挺诧异,程序员现在是很低端,很被人瞧不起的工作吗?或许现在连卖盗版光盘的,修电脑的都称自己为搞IT的,普通人可能已经分不清搞IT的到底是做什么的了.其实我想说,程序员也分很多种的,有些只能写if-then-else,有些只能依葫芦画瓢,但真正的程序员我想肯定是某个领域的专家,或许他是一位数学家,或许他是一位物理学家,再或许他是计算机某个细分领域的专家,…
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的mat…