- 博客(29)
- 资源 (60)
- 收藏
- 关注
原创 Mahout源码分析之DistributedLanczosSolver(7)--总结篇
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。看svd算法官网上面使用的是亚马逊的云平台计算的,不过给出了svd算法的调用方式,当算出了eigenVectors后,应该怎么做呢?比如原始数据是600*60(600行,60列)的数据,计算得到的eigenVectors是24*60(其中的24是不大于rank的一个值),那么最后得到的结果应该是ori
2013-10-31 01:10:51 3455 8
原创 Mahout源码分析之DistributedLanczosSolver(6)--完结篇
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,分析完3个Job后得到继续往下:其实就剩下两个函数了: List> prunedEigenMeta = pruneEigens(eigenMetaData); saveCleanEigens(new Configuration(), prunedEigenMeta);看p
2013-10-30 23:29:09 2671
原创 Mahout源码分析之DistributedLanczosSolver(5)
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,分析到EigenVerificationJob的run方法:public int run(Path corpusInput, Path eigenInput, Path output,
2013-10-30 22:16:39 2601
原创 Mahout源码分析之DistributedLanczosSolver(4)--rawEigen
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,eigen分解,额,太复杂了,人太浮躁了,静不下来分析(说java对矩阵操作支持度不足,额,好吧是外部原因)。eigen分解的是triDiag矩阵,这个矩阵,上篇求得的结果是:[[0.315642761491587, 0.9488780991876485, 0.0], [0.948
2013-10-30 00:30:34 2792
原创 Mahout源码分析DistributedLanczosSolver(3)--Job2
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。1. 前奏:本篇接着上篇继续分析,分析LanczosSolver中的:Vector nextVector = isSymmetric ? corpus.times(currentVector) : corpus.timesSquared(currentVector);之后。前篇说到这个是建立了一个
2013-10-29 23:09:43 2408
原创 Mahout源码分析之DistributedLanczosSolver(2)--Job1
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。在上篇blog中的最后终端的信息可以看到,svd算法一共有四个Job任务。下面通过Mahout中DistributedLanczosSolver源代码来一个个分析:为了方便后面的数据随时对照,使用wine.dat修改后的数据,如下(5行,13列):14.23,1.71,2.43,15.6,
2013-10-29 00:13:32 3447 2
原创 Mahout源码分析之DistributedLanczosSolver(1)--实战
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇开始系列svd,即降维。这个在mahout中可以直接运行MAHOUT_HOME/mahout/svd -h 即可看到该算法的调用参数,或者在官网相应页面也可以看到,本次实战使用的svd的调用参数如下:package mahout.fansy.svd;import org.apache.
2013-10-28 00:32:58 4051 5
原创 Hadoop解析序列文件并可视化输出
hadoop版本:1.0.4,jdk:1.7.0_25 64bit。在进行mahout算法分析的时候有时会遇到算法最后的输出文件是序列文件的情况下,这样就不能直接通过HDFS文件系统看到最终的结果了(乱码,因为是序列文件)。以前编写过一个可以直接把序列文件读入到一个map变量中的java文件,叫做ReadArbiKV ,可以在http://download.csdn.net/detail/fa
2013-10-25 16:19:02 3921
原创 Mahout并行频繁集挖掘算法源码分析--读取最后结果
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本来打算分析Parallel Frequent Pattern Mining算法的源码的,但是看到之前的blog感觉这个算法好像分析的比较详细了,所以这里就不再进行分析了,只写个最后读取结果频繁项集序列文件的代码好了:下面的代码可以自己编写getRegex函数,来对输出的TopKStringPat
2013-10-24 01:26:21 3487
原创 Mahout并行频繁集挖掘算法源码分析(1)--实战
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本系列分析Parallel Frequent Pattern Mining源码,本篇作为第一篇,首先进行实战,实战参考mahout官网内容。这里主要是测试sequential和mapreduce模式下对数据处理的耗时分析,使用数据为:retail.dat,前面几条数据如下:0 1 2 3 4
2013-10-22 00:32:57 4310 6
原创 Java调用Python下载网页
本篇参考:http://tonl.iteye.com/blog/1918245python版本:2.7 64bit window版本;下载python:http://www.python.org/getit/ Python 2.7.5 Windows X86-64 Installer (Windows AMD64 / Intel 64 / X86-64 binary [1
2013-10-18 16:22:23 2385 1
原创 Mahout基于项目的协同过滤算法源码分析(6)--总结
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇是ItemBased Collaborative Filtering的算法综述,即总结前面几篇blog,分析该算法的数据流,主要使用的数据是《mahout in action》中的listing2.1的数据。首先贴上下面的一个图:看到上面的图片(这个算法计算到上图中的矩阵还没有结束
2013-10-18 00:07:04 3030 1
原创 easyhadoop完全配置实战
版本:easyhadoop 1.2.1,操作系统:Centos 6.4;经过上次的初始easyhadoop,本次终于配置好了一个集群,这个集群是有两个节点组成(master:jobtracker、namenode、secondarynamenode,node1:datanode、tasktracker)。本篇就从开始到结束,来一个全面的介绍:1.首先安装centos6.4的虚拟机,ce
2013-10-17 18:43:48 4719 4
原创 Mahout基于项目的协同过滤算法源码分析(5)--推荐
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,本篇分析该算法的最后一个job。在上篇计算共生矩阵的乘积后,接下来又到了一个shouldRunNextPhase的方法了,这个方法里面含有三个prepareJob,但是本次只分析一个,为啥?因为在实战中没有设置filterFile,这里其实是可以设置filterFile的,设置这个参数的作
2013-10-17 00:17:07 4653 5
原创 Mahout基于项目的协同过滤算法源码分析(4)共生矩阵乘法
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。经过了SimilarityJob的计算共生矩阵后,就可以开始下面一个过程了,这个过程主要是共生矩阵的乘法,要说这个共生矩阵的乘法是啥意思?我也不是很清楚,不清楚就看代码呗。首先明确共生矩阵,即共生矩阵的输入文件(也是上面个SimilarityJob的输出文件):similarityMa
2013-10-15 20:38:35 3765 3
原创 Mahout基于项目的协同过滤算法源码分析(3)--RowSimilarityJob
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。 本篇分析上篇的分析是否正确,主要是编写上篇输出文件的读取以及添加log信息打印相关变量。首先,编写下面的测试文件分析所有的输出:package mahout.fansy.item;import java.io.IOException;import java.util.Map;i
2013-10-15 00:52:14 3282
原创 Mahout基于项目的协同过滤算法源码分析(2)--RowSimilarityJob
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇开始之前先来验证前篇blog的分析结果,编写下面的测试文件来进行对上篇三个job的输出进行读取:package mahout.fansy.item;import java.io.IOException;import java.util.Map;import org.apache.
2013-10-12 00:55:06 4447 2
原创 Mahout基于项目的协同过滤算法源码分析(1)--PreparePreferenceMatrixJob
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本篇分析RecommenderJob的源码,这个类也是继承了AbstractJob,所以也会覆写其run方法,点开这个run方法,可以看到和其他的job类都一样,刚开始都是基本参数的默认值设置和获取;然后到了第一个job,在这个job之前有一个shouldRunNextPhase()函数,点开这个函数
2013-10-11 01:19:39 5060
原创 Mahout协同过滤算法源码分析--Itembased Collaborative Filtering实战
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。本系列介绍介绍mahout中的Itembased Collaborative Filtering算法,这个算法的实现的源码是org.apache.mahout.cf.taste.hadoop.item.RecommenderJob。在mahout官网是这样介绍这个算法的:RecommenderJob是
2013-10-10 23:49:25 6452 18
原创 Load Runner测试flex项目性能
这几天要做web项目的测试,所以记录一下一些基本的load runner的基本操作,作为备忘。做测试主要做三个步骤:(1)录制脚本,然后修改脚本;(2)设置参数,进行测试;(3)结果分析,调优;(1)录制脚本,然后修改脚本;点击录制脚本,然后按照下图进行操作:在下图中选择浏览器所在位置(在点击了ok后,如果没有弹出浏览器,那么就说明这个浏览器不行,换个浏览器试试)和
2013-10-10 17:03:30 2565
原创 Mahout协同过滤算法源码分析(6)--并行思路
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。mahout算法源码分析之Collaborative Filtering with ALS-WR 这个算法的并行主要就应该是ParallelALSFactorizationJob这里的并行了,下图是这个Job的大部分操作:这里分析并行就是看每个job任务是否可以出现多个map或者red
2013-10-10 00:50:53 4204 3
原创 Mahout协同过滤算法源码分析(5)--拓展篇
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。额,好吧,心头的一块石头总算是放下了。关于Collaborative Filtering with ALS-WR这个算法中的那个QR分析,真心是太复杂了。以至于国庆后面三天基本都是在郁闷中过来的,想着自己的矩阵学的是有多差呀。。。后来算法验证弄懂之后才发觉,尼玛,java太坑爹了吧,矩阵求个逆,有那么
2013-10-08 20:03:18 4056 2
原创 Mahout协同过滤算法源码分析(4)--评价和推荐
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。首先来总结一下 mahout算法源码分析之Collaborative Filtering with ALS-WR (三),这个写了三篇,基本都是写QR分解,然后矩阵进过处理得到U或者M的过程,但是还是没有讲出个所以然来。mahout官网上说其是根据这篇文献得来的Large-scale Parall
2013-10-08 19:42:28 4177 1
原创 Mahout协同过滤算法源码分析(3-3)QR分解数据流
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇分析完new QRDecomposition(Ai)后,此篇分析new QRDecomposition(Ai).solve(Vi).viewColumn(0)的后面solve函数。首先来明确几个变量:Vi:[[34.8125],[5.235105578655231],[4
2013-10-06 18:44:08 2824 1
原创 Mahout协同过滤算法源码分析(3-2)--QR分解数据流
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,当数据准备完成后,就可以来分析其数据流了。首先要分析的是new QRDecomposition(Ai),这个初始化QRDecomposition就做了好多的事情,具体分析如下:先贴上源码,然后再分析:public QRDecomposition(Matrix a) {
2013-10-06 18:32:02 2866
原创 Mahout协同过滤算法源码分析(3-1)--QR分解数据流
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,本篇主要分析下面的一行代码:Vector solve(Matrix Ai, Matrix Vi) { return new QRDecomposition(Ai).solve(Vi).viewColumn(0); }虽说是一行代码,但是里面涉及的内容却好多。。。哎,当初
2013-10-06 18:08:16 4189
原创 Mahout协同过滤算法源码分析(3)--parallelALS
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,此篇分析parallelALS的initializeM函数和for循环(for循环里面含有一个QR分解,此篇只分析到这里为止)。parallelALS的源码对应为:org.apache.mahout.cf.taste.hadoop.als.ParallelALSFactorizationJob
2013-10-05 17:48:12 4646
原创 Mahout协同过滤算法源码分析(2)--splitDataset 和parallelALS
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。接上篇,此篇blog分析第(1)、(2)对应的java源码,主要是splitDataset和parallelALS。(一)其中splitDataset对应的mahout中的源java文件是:org.apache.mahout.cf.taste.hadoop.als.DatasetSplitter.
2013-10-05 01:30:20 4273
原创 Mahout协同过滤算法源码分析(1)
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。学习总是一个痛并快乐着的过程。。。今天简要介绍一下mahout中的Collaborative Filtering with ALS-WR,这个算法,你要问我这个是什么算法,我最多告诉你它是一个推荐算法,其他我也不知道。这里主要是参考这里的介绍Collaborative Filtering wi
2013-10-03 22:01:37 7077 10
Mahout案例实战 约会推荐
2015-03-11
FP关联规则置信度
2014-11-19
libimesti推荐系统
2014-09-30
nmon 和 nmon analyser工具
2014-09-24
easyui+spring+struts+hibernate 实例
2014-09-16
MR Unit test需要的相关jar包
2014-07-29
Mahout贝叶斯分类不含标签数据
2014-07-20
Mahout算法调用展示平台2.1-part3
2014-07-06
Mahout算法调用展示平台2.1-part2
2014-07-06
mahout0.9源码(支持hadoop2)
2014-04-09
博客推荐系统源码
2014-02-18
web平台调用hadoop集群2.0
2014-01-03
hadoop启动时间写入文件
2013-12-20
监控hadoop任务信息
2013-12-18
web 工程调用hadoop集群1.4
2013-12-02
flex datagrid doubleclick 实例
2013-11-22
flex dispatchEvent 实例工程
2013-11-19
web 工程调用hadoop集群1.3
2013-11-17
flex 调用java
2013-11-12
svd mahout算法
2013-10-31
读取HDFS序列化文件解析key、value可视化输出
2013-10-25
spark-yarn_2.10-1.6.0-cdh5.7.3.jar
2016-12-24
hotspot关联规则
2015-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人