Я использую метод j48 в weka. Мой образец данных обучения .arff файл следует,определить атрибут в файле arff с помощью java
@relation l4_tbl_final
@attribute MouseVariance numeric
@attribute EyeValue numeric
@attribute SocialTime numeric
@attribute KeyWords numeric
@attribute InvolvedTime numeric
@attribute grade {B,A,C}
@data
2731.35,87,47.55,0,49.7,B
864.891,55,0,0,94.33,B
2495.8,1386,0,2,71.75,A
1104.04,4490,0,0,61.91,B
Первые 5 значения параметров и на основе этого класса, «A», «B», «C» дается.
Теперь мне нужно предоставить набор тестовых данных и предсказать оценку этих данных. (? Отметок на классе) для этого я должен предоставить testdata.arff файл следующим образом
@attribute MouseVariance numeric
@attribute EyeValue numeric
@attribute SocialTime numeric
@attribute KeyWords numeric
@attribute InvolvedTime numeric
@attribute grade {B,A,C}
@data
2731.35,87,47.55,0,49.7,?
864.891,55,0,0,94.33,?
2495.8,1386,0,2,71.75,?
1104.04,4490,0,0,61.91,?
Я использовал следующий код Java для преобразования баз данных SQL в CSV и после этого CSV-файл преобразуется в ARFF:
while (resultSet.next()) {
row = spreadsheet.createRow(i);
cell = row.createCell(0);
cell.setCellValue(resultSet.getString("MouseVariance"));
cell = row.createCell(1);
cell.setCellValue(resultSet.getString("EyeValue"));
cell = row.createCell(2);
cell.setCellValue(resultSet.getString("SocialTime"));
cell = row.createCell(3);
cell.setCellValue(resultSet.getString("KeyWords"));
cell = row.createCell(4);
cell.setCellValue(resultSet.getString("InvolvedTime"));
cell = row.createCell(5);
cell.setCellValue("?");
i++;
}
, но когда я создаю файл ARFF таким образом атрибут является показывает, как
@attribute grade {numaric} value.
так ожидаемый класс не прогнозируется. , но если это так, это решило бы проблему.
@attribute grade {B,A,C}
Как я могу это решить ??