mahout预处理数据的第一步是将文档转化为可以被hadoop处理的sequencefile,第二步是从sequencefile转化为Vector,称为Vectorizer过程,这里剖析的SparseVectorsFromSequenceFiles是其中一个实现。
SparseVectorsFromSequenceFiles.java位置在mahout-distribution-0.6/core/src/main/java/org/apache/mahout/vectorizer
初始化过程
1、创建builder:
DefaultOptionBuilder
ArgumentBuilder
GroupBuilder
2、创建Option:
inputDirOpt
outputDirOpt
minSupportOpt
analyzerNameOpt
chunkSizeOpt
weightOpt
minDFOpt
maxDFPercentOpt
maxDFSigmaOpt
minLLROpt
numReduceTasksOpt
powerOpt
logNormalizeOpt
maxNGramSizeOpt
sequentialAccessVectorOpt
namedVectorOpt
overwriteOutput
helpOpt
3、创建Group
4、创建parser,参数是group
Parser parser = new Parser();
parser.setGroup(group);
parser.setHelpOption(helpOpt);
5、获得CommandLine
CommandLine cmdLine = parser.parse(args);
6、通过CommandLine获得各参数值,例如:
int minDf = 1;
if (cmdLine.hasOption(minDFOpt)) {
minDf = Integer.parseInt(cmdLine.getValue(minDFOpt).toString());
}
本文介绍Apache Mahout中SparseVectorsFromSequenceFiles工具的工作流程,包括如何将文档转换为SequenceFile并进一步转换为向量,解析了该工具的初始化过程及参数设置。
1487

被折叠的 条评论
为什么被折叠?



