
贝叶斯算法
文章平均质量分 90
fansy1990
这个作者很懒,什么都没留下…
展开
-
Mahout贝叶斯算法拓展篇3---分类无标签数据
代码测试环境:Hadoop2.4+Mahout1.0前面博客:mahout贝叶斯算法开发思路(拓展篇)1和mahout贝叶斯算法开发思路(拓展篇)2 分析了Mahout中贝叶斯算法针对数值型数据的处理。在前面这两篇博客中并没有关于如何分类不带标签的原始数据的处理。下面这篇博客就针对这样的数据进行处理。最新版(适合Hadoop2.4+mahout1.0环境)源码以及jar包可以在这里下载:下载后参考原创 2014-07-20 14:31:35 · 4315 阅读 · 7 评论 -
Mahout贝叶斯算法实例--Twenty Newsgroups Classification
按照mahout官网https://cwiki.apache.org/confluence/display/MAHOUT/Twenty+Newsgroups的说法,我只用运行一条命令就可以完成这个算法的调用了,如下:mahout@ubuntu:~/mahout-d-0.7/examples/bin$ ./classify-20newsgroups.sh 但是,我首先运行就出错了,因为我不是ro原创 2013-08-27 00:03:07 · 4863 阅读 · 0 评论 -
Mahout贝叶斯分类后数据解析
mahout0.7,hadoop1.0.4运行本示例,参考:http://blog.youkuaiyun.com/fansy1990/article/details/11681565.首先,贴上原始数据:0.2,0.3,0.4:10.32,0.43,0.45:10.23,0.33,0.54:12.4,2.5,2.6:22.3,2.2,2.1:25.4,7.2,7.2:35.6,7,6:原创 2014-01-20 00:17:55 · 4767 阅读 · 8 评论 -
Mahout贝叶斯算法源码分析(6)
首先更正前篇博客中的错误的地方,看图即可看出来:原创 2013-09-04 01:12:59 · 3048 阅读 · 0 评论 -
Mahout贝叶斯算法源码分析(5)
接上篇blog,继续分析。接下来要调用代码如下:// Should document frequency features be processed if (shouldPrune || processIdf) { docFrequenciesFeatures = TFIDFConverter.calculateDF(new Path(outputDir, tf原创 2013-09-03 19:57:39 · 2264 阅读 · 0 评论 -
Mahout贝叶斯算法源码分析(2-3)
接上篇,如果想对上篇的问题进行测试其实可以简单的编写下面的代码:package mahout.fansy.test.bayes.write;import java.io.IOException;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.F原创 2013-08-30 00:49:35 · 2779 阅读 · 0 评论 -
Mahout贝叶斯算法源码分析(2-2)
接上篇,SequenceFileTokenizerMapper的输出文件在/home/mahout/mahout-work-mahout0/20news-vectors/tokenized-documents/part-m-00000文件即可查看,同时可以编写下面的代码来读取该文件(该代码是根据前面读出聚类中心点文件改编的),如下:package mahout.fansy.test.bayes原创 2013-08-29 21:03:48 · 3083 阅读 · 0 评论 -
Mahout贝叶斯算法开发思路(拓展篇)1
首先说明一点,此篇blog解决的问题是就下面的数据如何应用mahout中的贝叶斯算法?(这个问题是在上篇(。。。完结篇)blog最后留的问题,如果想直接使用该工具,可以在mahout贝叶斯算法拓展下载):0.2 0.3 0.4:10.32 0.43 0.45:10.23 0.33 0.54:12.4 2.5 2.6:22.3 2.2 2.1:25.4 7.2 7.2:35.6原创 2013-09-14 14:28:04 · 5966 阅读 · 5 评论 -
Mahout贝叶斯算法源码分析(9)
Twenty Newsgroups Classification实例任务跑的是哪个算法?就是bayesian,也就是我们说的贝叶斯,首先不管你是否了解贝叶斯算法(说实话,我真的不知道这个算法的原理),如果你看了这篇博客,至少应该了解如何对数据 进行处理,然后就可以分类了,不管它是啥算法,好,来开始。接上篇系列blog: Twenty Newsgroups Classification实例任务之原创 2013-09-10 21:21:06 · 3321 阅读 · 2 评论 -
Mahout贝叶斯算法源码分析(7)
首先更正下seq2sparse(6)之TFIDFPartialVectorReducer源码分析中最后的公式应该是如下的形式:sqrt(e.get())*[ln(vectorCount/(df+1)) + 1]前面说到e.get(),当时想当然的就以为是获取单词的计数了,其实这里获得的值是1而已,而且那个log函数是以e为底的,所以要改为ln;seq2sparse(7)中的PartialV原创 2013-09-05 21:11:36 · 2997 阅读 · 0 评论 -
Mahout贝叶斯算法开发思路(拓展篇)2
如果想直接下面算法调用包,可以直接在mahout贝叶斯算法拓展下载,该算法调用的方式如下:$HADOOP_HOME/bin hadoop jar mahout.jar mahout.fansy.bayes.BayerRunner -i hdfs_input_path -o hdfs_output_path -scl : -scv ,调用参数如下:usage: [Gener原创 2013-09-14 14:52:30 · 6958 阅读 · 25 评论 -
Mahout贝叶斯算法源码分析(8)
接着上篇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-m原创 2013-09-06 01:23:07 · 3932 阅读 · 1 评论 -
Mahout贝叶斯算法源码分析(4)
继前篇blogseq2sparse(3)之TFParitialVectorReducer源码分析 之后,继续分析下面的代码,本次分析的是PartialVectorMergeReducer的源码,这个reducer是下面的函数调用的:PartialVectorMerger.mergePartialVectors(partialVectorPaths, outputDir, conf, normP原创 2013-09-03 00:04:04 · 2757 阅读 · 0 评论 -
Mahout贝叶斯算法源码分析(3)
接着上篇seq2sparse系列,本次主要分析TFParitialVectorReducer的源码。打开该类文件,首先分析逻辑流。TFParitialVectorReducer有两个函数分别是setup和reduce,setup函数,主要是读取基本的参数设置,然后就是读取一个相对来说比较重要的变量(从文件中读取),如下代码:// key is word value is id fo原创 2013-09-02 19:47:46 · 2935 阅读 · 0 评论 -
Mahout贝叶斯算法源码分析(2-1)
seq2sparse对应于mahout中的org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles,从昨天跑的算法中的任务监控界面可以看到这一步包含了7个Job信息,分别是:(1)DocumentTokenizer(2)WordCount(3)MakePartialVectors(4)MergePartialVectors(5)Vect原创 2013-08-29 01:42:49 · 3894 阅读 · 3 评论 -
Mahout贝叶斯算法源码分析(1)
继前篇mahout 中Twenty Newsgroups Classification运行实例,本篇主要分析该算法的各个任务,首先是第一个任务,即seqdirectory,在提示信息里面的内容如下:+ ./bin/mahout seqdirectory -i /home/mahout/mahout-work-mahout/20news-all -o /home/mahout/mahout-wo原创 2013-08-28 00:15:51 · 4301 阅读 · 2 评论