java - 在 Java 中的 Apache Mahout 中测试随机梯度下降模型

标签 java classification mahout

我是 Apache Mahout 的新手,我想知道如何测试我使用随机梯度下降算法训练的模型。

我有一个 Java 示例,我正在使用 20 个新闻组数据集训练 OnlineLogisticRegression 算法。

你可以在这里看到这个例子:

https://github.com/jpatanooga/MahoutExamples/blob/master/src/main/java/com/cloudera/mahout/classification/sgd/TwentyNewsgroups.java

现在我没有 Java 代码来测试我训练好的算法。如您所知,在训练算法之后,我们需要对其进行测试。

在命令行中,mahout 文档建议执行此操作(此示例用于 nayve bayes 分类器,但我假设在 SGD 中它应该是相同的):

  $ mahout testnb 
        -i ${WORK_DIR}/20news-test-vectors
        -m ${WORK_DIR}/model 
        -l ${WORK_DIR}/labelindex 
        -ow 
        -o ${WORK_DIR}/20news-testing 
        -c

我有测试数据集和经过训练的模型。我该怎么办?

最佳答案

20 newsgroups tutorial , testing script for running the examples被讨论。查看此脚本内部,您可以看到 testnb 命令未用于测试随机下降。

如果您按照那里的说明(在下面引用)进行操作,您可以运行他们提供的随机下降模型 -

If running Hadoop in cluster mode, start the hadoop daemons by executing the following commands:

    $ cd $HADOOP_HOME/bin
    $ ./start-all.sh

Otherwise:

    $ export MAHOUT_LOCAL=true

In the trunk directory of Mahout, compile and install Mahout:

    $ cd $MAHOUT_HOME
    $ mvn -DskipTests clean install

Run the 20 newsgroups example script by executing:

    $ ./examples/bin/classify-20newsgroups.sh

如果您想知道他们在做什么,关键就在我上面提到的脚本的最后几行。替换testnb的命令如下:

./bin/mahout org.apache.mahout.classifier.sgd.TestNewsGroups --input ${WORK_DIR}/20news-bydate/20news-bydate-test/ --model /tmp/news-group.model

关于java - 在 Java 中的 Apache Mahout 中测试随机梯度下降模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24036100/

相关文章:

java - Google 先决条件非法参数异常

mongodb - 如何从mongodb数据库中识别图像和文本

hadoop - 在 hadoop 多节点集群上运行 mahout kmeans

java - 如何递归地找到直方图中的最大矩形面积?

java - OpenGL ATI 与 NVIDIA GLSL 问题

java - 从 Java Web 服务中获取 CATALINA_BASE 属性

java - 如何建立一个模型来区分关于 Apple (Inc.) 的推文和关于苹果 (fruit) 的推文?

mysql - SQL分类

python - 随机森林分类器的最后一行#5 遇到问题

java - 如何使用 Passay 库将部分用户名与密码匹配?