5

有没有人坚持过 CI-Bayes 的训练集?我有来自这个站点的示例代码:http ://www.theserverside.com/news/thread.tss?thread_id=49773

这是代码:

FisherClassifier fc=new FisherClassifierImpl();
fc.train("The quick brown fox jumps over the lazy dog's tail","good");
fc.train("Make money fast!", "bad"); 
String classification=fc.getClassification("money", "unknown"); // should be "bad"

所以我需要能够将训练集存储在本地文件中。

以前有人做过吗?

4

2 回答 2

0

我有。在用 CI-Bayes 做了几个项目之后,我建议你去别处看看(当然这是很久以前的事了)。使用在每次使用前都需要训练的推理引擎是一个非常糟糕的主意,如果你真的考虑状态管理的问题,它会很复杂(例如,你想只存储训练数据吗?或者可能是训练过的分布?链?)。

CI-Bayes 也是一种复杂的代码库。它模仿了一本关于智能的书中出现的一些 Python 代码。Java 版本的设计不是很好。它也没有使用 TDD,也没有真正的 JavaDoc 可言。

也就是说,你可以很快得到一个简单的分类器。长期目标是你问的那个。

于 2013-01-19T16:47:08.897 回答
0

要将 java 对象持久保存在本地文件中,该对象必须首先实现 Serializable 接口。

import java.io.Serializable;
public class MyClass implements Serializable {...

然后,您希望从中保留此训练集的类应包含如下方法:

public void persistTrainingSet(FisherClassifier fc) {
    String outputFile = <path/to/output/file>;

    try {
        FileOutputStream fos = new FileOutputStream(outputFile);
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(fc);
        oos.close();
    }
    catch (IOException e) {
        //handle exception
    }
    finally {
        //do any cleaning up
    }
}
于 2011-06-14T08:21:40.503 回答