Почему я получаю "weka.attributeSelection.PrincipalComponents: Нет атрибутов!" во время работы WEKA PCA на Java? - PullRequest
2 голосов
/ 14 мая 2019

Я должен сделать визуализацию для четырехмерного набора данных (плюс атрибут класса).Для этого я хочу запустить PCA для всего набора данных.Поскольку мне не нужно заниматься машинным обучением в наборе данных, я не делю его на тренировку и тестирование.Ниже приведен код, который я пытался написать:

PrincipalComponents pc = new PrincipalComponents();
pc.setMaximumAttributeNames(2);
System.out.println(dataset.numAttributes()); // this prints 5
pc.buildEvaluator(dataset); //this row raises the exception
weka.core.Instances datasetR2 = pc.transformedData(dataset);
System.out.println(datasetR2.numAttributes());

Команда "buildEvaluator" вызывает следующее исключение:

Исключение в потоке "main" weka.core.WekaException: weka.attributeSelection.PrincipalComponents: Нет атрибутов!на weka.core.Capabilities.test (Capabilities.java:1201) на weka.core.Capabilities.test (Capabilities.java:1138) на weka.core.Capabilities.testWithFail (Capabilities.java:1468) на weka.attributeSelection.PrincipalComponents.buildAttributeConstructor (PrincipalComponents.java:525) в weka.attributeSelection.PrincipalComponents.buildEvaluator (PrincipalComponents.java:466) в clustering.sperimentation.GoldStandardTest.cstst.: 22)

Я ожидаю, что набор данных R2 должен содержать исходный набор данных, преобразованный в набор 2D данных.

...