1

簡単かつ迅速な疑い。私のARFFが次のようになっているとしましょう:

@attribute outlook { sunny, overcast, rainy }
@attribute temperature numeric
@attribute humidity numeric
@attribute windy { TRUE, FALSE }
@attribute play { yes, no }

@data
sunny, 85, 85, FALSE, no
sunny, 80, 90, TRUE, no
overcast, 83, 86, FALSE, yes
rainy, 70, 96, FALSE, yes
rainy, 68, 80, FALSE, yes
......

5 つの属性 (class 属性なしの 4 つ)。インスタンスを作成して分類する場合、属性クラスの値を導入する必要がありますか? お気に入り "?" または「-1」またはこのようなもの。それは何かを変えますか?例:

ArrayList<Double> featureVector = new ArrayList<Double>();
featureVector.add((double) 0);
featureVector.add((double) 85);
featureVector.add((double) 85);
featureVector.add((double) 1);  
//featureVector.add((double) -1); -> Class attribute

Instances instances = classification.featureVectorToInstances(featureVector);
result = classification.classifyInstanceToString(instances.firstInstance());

そして機能:

パブリック インスタンス featureVectorToInstances(ArrayList featureVector){

Instances instances = new Instances("Instances", attributes, 0);    
DenseInstance instance = new DenseInstance(attributes.size());

for(int i = 0; i < featureVector.size(); i++)

    instance.setValue(i, featureVector.get(i));

instances.add(instance);    
//Set class attribute
instances.setClassIndex(attributes.size()-1);

return instances;

}

public String classifyInstanceToString(Instance unlabeled) throws Exception{

double clsLabel = cModel.classifyInstance(unlabeled);
unlabeled.setClassValue(clsLabel);
return unlabeled.classAttribute().value((int)clsLabel);

}

前もって感謝します

4

1 に答える 1

0

私が正しく理解した場合:

列車インスタンスのラベルを提供する必要があります。理由: 学習アルゴリズムは、トレーニング データを使用してモデルを構築し、そのモデルを使用して新しいインスタンスを分類し、独自のクラス予測を評価して元のラベルと比較します。したがって、ラベルがなければ、アルゴリズムのパフォーマンスを評価することはできません。

于 2013-08-08T15:07:22.623 に答える