`
thecloud
  • 浏览: 886006 次
文章分类
社区版块
存档分类
最新评论
文章列表
在跑BuildForest的时候,编写了下面的程序: package test.breiman; import org.apache.mahout.classifier.df.mapreduce.BuildForest; /** * BuildForecast测试类 * @author fansy */ public class BuildForestFollow { public static void main(String[] args) throws Exception{ String[] arg=new String[]{ "-d",&q ...
Mahout版本:0.7,hadoop版本:1.0.4,jdk:1.7.0_25 64bit。 Mahout中实现决策树算法的有两个(quick start),分别是Partial Implementation和Breiman Example,可以点击链接到相应的网页查看其官方实例。其中Breiman Example是单机版的,而Partial Implementation是可以使用map-reduce模式的。 Partial Implementation可以分为三步:Describe、BuildForest、TestForest,共称为决策树三部曲。以前有写过相关的内容,今次重新写 ...
如果想直接下面算法调用包,可以直接在mahout贝叶斯算法拓展下载,该算法调用的方式如下: $HADOOP_HOME/bin hadoop jar mahout.jar mahout.fansy.bayes.BayerRunner -i hdfs_input_path -o hdfs_output_path -scl : -scv , 调用参数如下: usage: <command> [Generic Options] [Job-Specific Options] Generic Options: -archives <paths> ...
首先说明一点,此篇blog解决的问题是就下面的数据如何应用mahout中的贝叶斯算法?(这个问题是在上篇(。。。完结篇)blog最后留的问题,如果想直接使用该工具,可以在mahout贝叶斯算法拓展下载): 0.2 0.3 0.4:1 0.32 0.43 0.45:1 0.23 0.33 0.54:1 2.4 2.5 2.6:2 2.3 2.2 2.1:2 5.4 7.2 7.2:3 5.6 7 6:3 5.8 7.1 6.3:3 6 6 5.4:3 11 12 13:4 前篇blog上面的数据在最后的空格使用冒号代替(因为样本向量和标识的解析需要不同的解析符号,同一个的话解析就会出 ...
dll 两种链接方式: 动态链接和静态链接(链接亦称加载) 动态链接是指在生成可执行文件时不将所有程序用到的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。 而静态链接就是把所有用到的函数全部链接到exe文件中。 动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入; 而静态链接是把所有的代码和数据都复制到本模块中,运行时就不再需要库了。 1.生成 静态链接库 lib 和动态链接库 dll 新建工程(newdll) win32项目 -> dll 添加.h ...
Twenty Newsgroups Classification实例任务跑的是哪个算法?就是bayesian,也就是我们说的贝叶斯,首先不管你是否了解贝叶斯算法(说实话,我真的不知道这个算法的原理),如果你看了这篇博客,至少应该了解如何对数据 进行处理, ...
在hadoop中编写一个job一般都是采用下面的方式: Job job=new Job(); job.setXxx(); ...这样感觉代码很多,而且参数还不好控制。比如,我想对输入的参数进行控制,还要自己写一些控制解析之类的代码,如下: if(args.length!=2){ System.err.out("Usage<input> <output>") }而且上面只是大概的判断下,没有很精确的判断。有没有比较好的方法可以不用设置,而且减少代码量呢? 其实可以实现Mahout中的AbstractJob类即可,如下: packag ...
java matlab混合编程的时候当返回值是Struct类型(matlab中的返回类型)如何来取得(java中)其值? 上网找,看到这个网页:http://www.mathworks.cn/cn/help/matlab/matlab_external/passing-data-to-a-java-method.html,上面说Struct类型不支持;如下图: ...
错误1:fatal error C1853: “Debug\mydll.pch”预编译头文件来自编译器的早期版本 项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。 在 VC++ 中,默认的预编译头文件是针对 C++ 的 (stdafx.h 和 stdafx.cpp),当然也可以创建针对 C 的预编译头。 方法:将少数的不同类文件设为不使用预编译头是比较平衡的做法。具体:Vs2008 项目-- 属性-- 配置属性—C/C++ -- 预编译头 –创建使用预编译头 – 选择不使用。 错误2:er ...
上次留了一个问题如何实现Writable的深度复制,上网找了下,还真有这个类,叫做WritableDeepCopier,可以在http://mvnrepository.com/artifact/org.apache.crunch/crunch/0.5.0-incubating进行下载;下载导入,然后编程调用,但是如何调用?网上找了很多,但是都没有例子,哎,还是自己摸索吧,结果搞了一点时间还是不行,调用出错。然后就去看源码,它的deepCopy方法可以直接借鉴即可 public T More ...deepCopy(T source) { 50 ByteArrayOutputStrea ...
接着上篇blog,继续看log里面的信息如下: + echo 'Training Naive Bayes model' Training Naive Bayes model + ./bin/mahout trainnb -i /home/mahout/mahout-work-mahout/20news-train-vectors -el -o /home/mahout/mahout-work-mahout/model -li /home/mahout/mahout-work-mahout/labelindex -ow 这里mahout的trainnb对应的源码文件是TrainNaiveBay ...
首先更正下seq2sparse(6)之TFIDFPartialVectorReducer源码分析中最后的公式应该是如下的形式: sqrt(e.get())*[ln(vectorCount/(df+1)) + 1]前面说到e.get(),当时想当然的就以为是获取单词的计数了,其实这里获得的值是1而已,而且那个log函数是以e为底的,所以要改为ln; seq2sparse(7)中的PartialVectorMergeReducer就真的没啥了,和前面简直是一模一样了,这里就不做分析了;继续往下面进行分析,有最开始的log信息可以看到接下来的信息是: + echo 'Creating ...
最近使用到jfreechar的项目,在转移到linux上面时出现中文乱码(中文被显示为框框),网上查了一些资料,结合自身系统的特性,总结了一种安装字体的方式。在说字体安装之前首先上个测试的代码吧:web工程,用于画图的类(代码基本来自网上): package fansy.jfreechar.demo; import java.awt.Font; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.StandardChartTheme; import o ...
本实例代码在lz的资源中有上传,有需要的可以参考(下载后的文件解压后有两个,一个直接导入myeclipse工程,另外的jar放在hadoop的lib下面,只需修改Utils中的ip即可运行该程序); 这里主要讲下设计思路: 首先进入页面后是一个frame框,上面是固定页面,下面是一个输入页面。输入页面输入要运行hadoop word count程序的输入和输出路径,然后提交路径到servlet A,servlet A中new一个Thread来启动wordcount程序(并初始化Job,这个Job可以在其他地方获取到),然后直接跳转到显示map和reduce进度的页面(第一次跳转的时候附带的m ...
首先更正前篇博客中的错误的地方,看图即可看出来: 可以看到和前面猜测的值不对应,第一个怎么是93563,而不是93564?这个看源码就可以看出来了,我当时没有想透彻,key.get()应该是从零开始的,所以一共有93563个单词,key.get()获得的最大值应该是93562,然后最后加上++部分代码,就是93563了,这个确实是我当时没想好。 接着前篇blog的内容,本次应该分析到第六个Job了,且看源代码: if (shouldPrune) { 。。。 } if (processIdf) { TFIDFConverter.processTfIdf( ...
Global site tag (gtag.js) - Google Analytics