У меня есть набор данных, содержащий один экземпляр с «NAN», и я хочу удалить этот экземпляр на случай, если это может повлиять на производительность моего классификатора. поэтому я использую следующий код, но он не может удалить этот экземпляр.
Набор данных выглядит следующим образом
{{[1,2,1,4,2,5,];1},{[2,3,1,6,5,8];2},{[1,4,3,6,9,2];1},{[NAN,NAN,NAN,NAN,NAN,NAN];class},{[1,3,4,7,8,6];2}]
Код, который использовался
Dataset[] folds = data.folds((10), new Random(100));
Dataset training = new DefaultDataset();
Dataset testing = new DefaultDataset();
int[] tr = {0, 2, 3, 5, 6, 8, 9};
int[] te = {1, 4, 7}; // 7, 4 and 6,5 changes
for (int i = 0; i < 7; i++) {
training.addAll(folds[tr[i]]);
}
for (int i = 0; i < 3; i++) {
testing.addAll(folds[te[i]]);
}
int numFolds = 10;
Dataset[] foldsTrain = training.folds(numFolds, new Random(1));
for (int i =0; i < training.noAttributes()- 1 ; ++i) {
//Instance inst = training.get(i);
if (training.instance(i).equals("isNaN")) {
training.remove(i);
}
}