WEKA を使用して分類 Java プログラムをトレーニングしています。最初はいくつかのカテゴリ (10 としましょう) があり、システムはそれらの最初のカテゴリで動作し、トレーニングを開始する必要があります。それを行うには...:
String [] categories = {"cat1", "cat2", ..., "cat10"};
public SomeClassifier(String[] categories) {
// Creates a FastVector of attributes.
FastVector attributes = new FastVector(3);
// Add attribute for holding property one.
attributes.addElement(new Attribute(P1_ATTRIBUTE, (FastVector) null));
// Add attribute for holding property two.
attributes.addElement(new Attribute(P2_ATTRIBUTE, (FastVector) null));
// Add values attribute.
FastVector values = new FastVector(categories.length);
for (int i = 0; i < categories.length; i++) {
values.addElement(categories[i]);
}
attributes.addElement(new Attribute(CATEGORY_ATTRIBUTE, values));
// Create dataset with initial capacity of 25, and set index
Instances myInstances = new Instances(SOME_NAME, attributes, 25);
myInstances.setClassIndex(myInstances.numAttributes() - 1);
}
さて、時間が経ち、トレーニング セット (「cat11」としましょう) に新しいカテゴリを追加したいと思います。これは、既にある程度の成功を収めてトレーニングされています。どうすればこれを達成できますか? WEKA のドキュメントには、「属性が作成されると、変更することはできません」と記載されています。したがって、Instances オブジェクトから属性を取り出し、属性を再作成してから、もう一度挿入することもできます... それとも、すべてが台無しになりますか?
前もって感謝します。