1

我目前正在尝试玩 mahout。我购买了 Mahout in Action 一书。整个过程都被理解并且通过简单的测试数据集我已经成功了。

现在我有一个我想解决的分类问题。

找到了目标变量,我称之为 - 现在 - x。我们数据库中的现有数据已经​​被分类为 -1、0 和 +1。

我们定义了几个通过 SQL 查询选择的预测变量。

这些是产品的属性:语言、国家、类别(商店)、标题、描述。

现在我希望将它们直接写入 SequenceFile,为此我编写了一个小助手类,每次处理 SQL 结果集的新行时,该类将附加到序列文件中:

public void appendToFile(String classification, String databaseID, String language, String country, String vertical, String title, String description) {
    int count = 0;
    Text key = new Text();
    Text value = new Text();

    key.set("/" + classification + "/" + databaseID);
    //??value.set(message);
    try {
        this.writer.append(key, value);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

如果我只有标题左右,我可以简单地将它存储在值中 - 但是我如何在该特定键中存储多个值,如国家、语言等?

谢谢你的帮助!

4

1 回答 1

0

您不应该将结构存储在 seq 文件中,只需转储您用空格分隔的所有文本,

它只是一个放置所有内容以进行术语计数的地方,因此在使用诸如朴素贝叶斯之类的东西时,它不关心结构。

然后当你有分类时,在你的数据库中查找结构。

于 2013-10-15T15:20:20.700 回答