기존 데이터로 훈련하고 예측하기
지금까지 .arff 파일에서 100,000행짜리 데이터로 훈련하였다. 웨카 워크벤치에서 작업했던 대로 자료의 10%로 훈련하고, 나머지 90%는 예측하려고 한다.
웨카 API에서 옵션을 추가하여 코드로도 훈련용 데이터를 분할할 수 있도록 해준다.
다음과 같이 옵션을 수정하고 훈련용 분할 퍼센티지(percentage)를 추가할 수 있다.
String[] options = weka.core.Utils.splitOptions("-K 0 -D 3");
분할 퍼센티지 옵션을 추가한 코드는 다음과 같다.
String[] options = weka.core.Utils.splitOptions("-K 0 -D 3 -split-percentage 10");
데이터의 예측을 보여주려면 데이터 인스턴스를 순회하는 새 메서드를 추가해야 한다.
public void showInstanceClassifications(LibSVM svm, Instances data) { try { for (int i = 0; i < data.numInstances(); i++) { System.out.println(“Instance “ + i + ” is classified as a “ + data.classAttribute().value((int)svm.classifyInstance(data. instance(i)))); } } catch (Exception e) { e.printStackTrace(); } }