Недостающие значения в выводе WEKA - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь сравнить J48 и MLP на различных наборах данных, используя WEKA.Один из них: https://archive.ics.uci.edu/ml/datasets/primary+tumor. Я преобразовал его в форму CSV, которую можно легко импортировать в WEKA.Вы можете скачать этот файл здесь: https://ufile.io/8nj13

Я использовал «числовой в номинальный» в классе и все атрибуты, чтобы соответствовать естественной структуре данных.Однако, когда я запустил J48 (и MLP), я получил несколько знаков вопроса "?"в моем выводе, вероятно, из-за нехватки наблюдений / экземпляров соответствующего типа.

Как я могу обойти это?Я уверен, что для такого рода вещей должен быть фильтр.Я приложил картинку ниже.

Missing output

1 Ответ

0 голосов
/ 22 октября 2018

Подробная таблица точности отображает вопросительный знак, поскольку ни один экземпляр фактически не был классифицирован как этот конкретный класс.Это, например, означает, что, поскольку ни один экземпляр не был классифицирован как класс 16, WEKA не может предоставить вам подробную информацию относительно упомянутых классификаций класса 16. Это изображение может помочь вам понять.

Что касается количества экземпляров соответствующего класса, вы можете использовать фильтр ClassBalancer в разделе weka / filters / supervised / instance / ClassBalancer .Это должно помочь сбалансировать количество различных классов.

Также обратите внимание, что в вашем наборе данных есть некоторые пропущенные значения, это можно решить, отбросив экземпляры с отсутствующими данными или запустив фильтр ReplaceMissingValues, найденный в * 1009.* WEKA / фильтры / неконтролируемые / атрибут / ReplaceMissingValues ​​.

...