GUI, который не так прост…
Что такое Века?
Weka — это программное обеспечение для машинного обучения с открытым исходным кодом, разработанное в Университете Вайкато, Новая Зеландия. Weka предоставляет графический интерфейс, что делает его отличным инструментом для экспериментов с различными алгоритмами.
Что такое SVM одного класса?
One Class SVM — это полууправляемый алгоритм машинного обучения, используемый для задач классификации. Прелесть алгоритма в том, что его нужно передать только целевому классу, поэтому любая другая точка данных, отклоняющаяся от целевого класса, будет классифицироваться как выбросы.
Использование SVM одного класса в Weka
Установка
- Откройте Диспетчер пакетов в меню Инструменты › Диспетчер пакетов (Ctrl + U).
- Выберите «Все» и найдите LibSVM в строке поиска.
3. Нажмите «LibSVM» и нажмите «Установить».
4. Если установка прошла успешно, она должна появиться в разделе «Установлено».
Настройка набора данных
Важно отметить, что столбец «метка» требуется как для обучающих, так и для тестовых наборов данных. Столбец «метка» может иметь одно значение (например, все строки помечены как «1», поскольку это просто требование Weka для запуска модели).
Шаги по настройке набора данных:
- Когда кто-то открывает Weka Explorer, его встречает интерфейс, как показано ниже.
2. Нажмите «Открыть файл» и откройте набор данных поезда.
3. Теперь удалите столбцы индекса, просто выбрав их и нажав кнопку «Удалить», расположенную внизу.
4. Один класс SVM в Weka не принимает числовое значение в качестве класса, поэтому класс набора данных, который в этом случае является столбцом «метка», должен быть преобразован в номинальный класс.
5. Чтобы преобразовать в номинальный класс, выберите столбец «метка» › Выбрать фильтр › неконтролируемый › атрибут › NumericToNominal
6. Измените свойства и, щелкнув левой кнопкой мыши имя фильтра вверху, выберите «Показать свойства…».
7. Измените «attributeIndices» на индексы столбца класса, в этом примере мой столбец класса является последним столбцом, поэтому я набираю «последний» в поле.
8. Нажмите «Применить».
Использование SVM One Class и получение результатов
- Выберите Классификатор › weka › functions › LibSVM
2. Выберите «Предоставленный набор тестов» и перейдите к набору тестовых данных. Затем установите столбец класса.
3. Отредактируйте конфигурации алгоритма и измените SVMType на «одноклассовый SVM (классификация)» и соответствующим образом измените значение «nu».
4. Вывести результаты в файл. Выберите «Дополнительные параметры…» › Выберите «Выходные прогнозы» › CSV › outputFile (перейдите в нужный каталог и введите имя выходного файла, который вы хотите установить)
5. Нажмите «Старт»!
Результаты
Что касается результатов, Weka определит выбросы как «?», а выбросы как «1», другими словами, «?» — это точки данных, которые SVM одного класса предсказал как аномалии.
Вывод
Однако, если кто-то знаком с python, я бы порекомендовал вместо этого использовать python scikit-learn и pandas, так как это даст еще одну возможность поиграть с набором данных! Надеюсь, вы чему-то научились, несмотря ни на что! :)