#machine-learning #weka
#машинное обучение #weka
Вопрос:
Здравствуйте, я новичок в WEKA и использую weka 3.6.10.
Извините, если ответ на этот вопрос очевиден.
У меня есть набор данных, содержащий 10 атрибутов и один класс принятия решений. Класс принятия решений состоит из значений {1,2,3,4}, есть ли способ изменить конфигурацию так, чтобы значения рассматривались как {1} и {2,3,4} (двоичные), а не каждое из значений по отдельности, без изменения других атрибутов? Я просмотрел фильтр WEKA, но не нашел ничего полезного.
Спасибо, ребята
Ответ №1:
Используйте неконтролируемый фильтр атрибутов, например, фильтр NumericToBinary. В самом верхнем поле диалогового окна конфигурации введите положение атрибута «Класс принятия решений». Если оно находится в 8-м столбце, введите 8.
Фильтр создаст столбцы «фиктивной переменной» для каждого уникального значения этого атрибута. Если имеется 4 уникальных значения, после применения этого фильтра в вашем наборе данных будет 4 дополнительных столбца. Удалите 3 из них.
Комментарии:
1. По-видимому, класс decision по какой-то причине является номинальным. Я попытался выполнить шаги, но я вижу только одно поле в диалоговом окне конфигурации (поле ignoreClass). Я думаю, что мог бы использовать NominalToBinary, но как бы я применил его только к классу?
2. Ах, я забыл, что некоторые фильтры игнорируют атрибут class. Вы должны временно назначить атрибут differwnt в качестве атрибута класса: В поле выбора над гистограммой выберите Class: myDecisionclass , назначьте какой-либо другой атрибут в качестве класса, примените фильтр Numertobinary к myDecisionclass (который теперь является обычным атрибутом), повторно назначьте атрибут class его старому атрибуту. (В зависимости от выбранного алгоритма, возможно, вам придется повторно применить фильтр BinaryToNominal)
3. Спасибо, теперь я разобрался