Apache Mahout数据库到序列文件



我现在正试着和mahout一起玩。我买了《马胡特在行动》一书。整个过程都被理解了,通过简单的测试数据集,我已经成功了。

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

找到了目标变量,我现在调用它-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();
    }
}

如果我只有标题左右,我可以简单地将其存储在值中——但我如何将country、lang等多种值存储在特定的密钥中?

谢谢你的帮助!

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

它只是一个放置所有内容进行术语计数的地方,因此当使用Naive Bayes之类的东西时,它不关心结构。

然后,当您进行分类时,请在数据库中查找结构。

相关内容

  • 没有找到相关文章

最新更新