码迷,mamicode.com
首页 > Windows程序 > 详细

mahout0.6 api调用

时间:2015-04-22 11:21:01      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

1.首先在解压缩的mahout文件中可以看到core包,该包是调用mahout api必须引入的jar包,

另外,该包里的driver.classes.default.props中记录了每个命令跟调用类的映射对应关系。

1.1 打开mahout源码包(可以通过maven部署在elicpse上),分析一下testClassifier类:

1.2 main函数会用很大的篇幅来处理命令输入的参数,BayesParameters params=new BayesParameters (),

params就是用来存储这些参数的.

1.3 根据这些参数,确定运行的是线性还是并行的作业,并启动一个作业,进入bayes的driver类中

1.4  runJob的参数就是params.进入mapper

1.5 mapper中的configure函数相当于新api中的setup函数,是在map之前需要做的工作,

     1.5.1首先读取driver中的params,

algorithm用来指定算法,datastore用来存储结果,根据选择的类型,new出相应对象,比如选择朴素bayes,

algorithm= new BayesAlgorithm(), datastore =new InMemoryBayesDatastore(params)

     1.5.2 然后生成并初始化分类器对象,classifier =new ClassifierContext(algorithm,datastore),classifier.initialize()

之后获取默认分类defaultCategory和构成特征词数目gramSize,这样在configure函数中就建立了分类器

1.6map函数<Text key,Text value,OutputCollector<>output>,key指类别,value指分词结果

    1.6.1 首先建立ngrams集合,用来存储特征集合

    1.6.2 然后调用分类器的分类方法,ClassifierResult result=classifier.classifyDocument(ngrams.toArray(new String(ngrams.size())),defaultCategory)

    1.6.3最终,通过result.getlabel()得到相应类别

 

mahout0.6 api调用

标签:

原文地址:http://www.cnblogs.com/mlj5288/p/4446418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!