訓練第一個分類器使用 ZeroR 設定基線

ZeroR 是一個簡單的分類器。它不是每個例項執行,而是在類的一般分佈上執行。它選擇具有最大先驗概率的類。它不是一個好的分類器,因為它不使用候選者中的任何資訊,但它通常用作基線。注意:其他基線可用作 aswel,例如:行業標準分類器或手工製作的規則

 // First we tell our data that it's class is hidden in the last attribute
 data.setClassIndex(data.numAttributes() -1);
 // Then we split the data in to two sets
 // randomize first because we don't want unequal distributions
 data.randomize(new java.util.Random(0));
 Instances testset = new Instances(data, 0, 50);
 Instances trainset = new Instances(data, 50, 99);
 
 // Now we build a classifier
 // Train it with the trainset
 ZeroR classifier1 = new ZeroR();
 classifier1.buildClassifier(trainset);
 // Next we test it against the testset
 Evaluation Test = new Evaluation(trainset);
 Test.evaluateModel(classifier1, testset);
 System.out.println(Test.toSummaryString());

該集中最大的類為你提供 34%的正確率。 (149 箇中的 50 個)

StackOverflow 文件

注意:ZeroR 的效能約為 30%。這是因為我們隨機分成了火車和測試集。因此,列車組中最大的一組將是測試裝置中最小的一組。製作一個好的測試/火車套裝值得你光顧