hadoop - map reduce 中的集成 SVM

标签 hadoop mapreduce classification svm libsvm

我正在为 Map Reduce 中的每个数据集制作 SVM 模型(为此我正在使用 LibSVM 库)。甚至,我有每个模型的测试结果。 测试结果文件包含以下详细信息。(IT 给出关于测试结果的预测)

+1
-1
+1
+1
..
..
+1

我有这样的 5 个测试文件。现在我想在 map reduce 中使用多数投票结合测试结果。 在 map 阶段,我想将行号作为 key 的值。如何在映射阶段为所有测试文件提供行号作为值。

最佳答案

我不知道你是否需要 MapReduce 来完成这个任务,但如果你确实需要在 MapReduce 中完成它,我会只使用 Map-only 作业,甚至没有输出文件。仅使用两个计数器(我没有找到 decrCounter 方法并且 incrCounter 不能取负值)。这是一个简单的伪代码:

enum MyCounter = {POSITIVES, NEGATIVES};
map(LongWritable key, Text value, Reporter reporter) {
    if (value.toString().equals("+1")) {
        reporter.incrCounter(MyCounter.POSITIVES, 1);
    } else {
        reporter.incrCounter(MyCounter.NEGATIVES, 1); 
    }
}

然后,如果 POSITIVES > NEGATIVES,则 +1 获胜!

如果你不需要MapReduce,你可以只计算所有文件的行数,例如在 Linux 中使用 wc -l 命令,然后计算具有 +1 的行,例如使用 grep -c

关于hadoop - map reduce 中的集成 SVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22342302/

相关文章:

database - 比较MapReduce与云数据库服务

apache-spark - 用于 ETL 的 Impala shell 或 Spark?

python - Hadoop Mapreduce:如何将数据从映射器分区到reducer

hadoop - 覆盖 TableMapper 拆分

java - 使用 MapReduce 进行行计数

java - Job(Configuration conf) 执行的是浅拷贝还是深拷贝?

regex - 帮助 : Extracting data tuples from text. .. 正则表达式还是机器学习?

language-agnostic - 随机森林中什么是袋外错误?

python - 线(旅行路径)聚类机器学习算法

java - Pig 脚本在 0.12.0 上工作但不在 0.11.1 上工作