2015-02-20 2 views
0
Instances new_testing_data = Filter.useFilter(testing_data, remove2); 
    new_testing_data.setClassIndex(new_testing_data.numAttributes()-1); 

    double pred; 
    String actual, prediction, adm_no; 

    for (int i = 0; i < new_testing_data.numInstances(); i++) { 
     System.out.println("Classifying Instances " + i); 
     pred = j48.classifyInstance(new_testing_data.instance(i)); 
.... 
.... 

У меня есть набор поезда набора с меченым классом и тестовым набором с немаркированным классом, мне нужно, чтобы получить результат предсказания на тестовом наборе. Я делаю это прямо из кода? Любое руководство будет очень оценено, этот проект задушил меня целыми днями и ночами.Не получение результата от немаркированного класса

ответ

0

Попробуйте это:

try { 
      fc.buildClassifier(data); 
     } catch (Exception e) { 
      System.out.println("Cannot build classifier"); 
     } 
     //<---building of the classifier ends 
     //Classification---> 
     clsLabel = new double[testData.numInstances()]; //holds class label of the test documents 
     //for each test document---> 
     for (int i = 0; i < testData.numInstances(); i ++){ 
      try { 
       clsLabel[i] = fc.classifyInstance(testData.instance(i)); 
      } catch (Exception e) { 
       System.out.println("Error from Classification.classify(). Cannot classify instance"); 
      } 
      testData.instance(i).setClassValue(clsLabel[i]); 
     }//end for 
     //<---classification ends 
+0

Нужно ли вводить мои тестовые данные с колонки атрибута класса? или просто оставить его пустым, и он заполнит результаты прогнозирования? – Yong

+0

Неизвестные метки будут '?' –

+0

Помимо заполнения моего атрибута класса набора тестов как «?», Мне нужно изменить код? он понимает? – Yong

Смежные вопросы