GUI, который не так прост…

Что такое Века?

Weka — это программное обеспечение для машинного обучения с открытым исходным кодом, разработанное в Университете Вайкато, Новая Зеландия. Weka предоставляет графический интерфейс, что делает его отличным инструментом для экспериментов с различными алгоритмами.

Что такое SVM одного класса?

One Class SVM — это полууправляемый алгоритм машинного обучения, используемый для задач классификации. Прелесть алгоритма в том, что его нужно передать только целевому классу, поэтому любая другая точка данных, отклоняющаяся от целевого класса, будет классифицироваться как выбросы.

Использование SVM одного класса в Weka

Установка

  1. Откройте Диспетчер пакетов в меню Инструменты › Диспетчер пакетов (Ctrl + U).
  2. Выберите «Все» и найдите LibSVM в строке поиска.

3. Нажмите «LibSVM» и нажмите «Установить».

4. Если установка прошла успешно, она должна появиться в разделе «Установлено».

Настройка набора данных

Важно отметить, что столбец «метка» требуется как для обучающих, так и для тестовых наборов данных. Столбец «метка» может иметь одно значение (например, все строки помечены как «1», поскольку это просто требование Weka для запуска модели).

Шаги по настройке набора данных:

  1. Когда кто-то открывает Weka Explorer, его встречает интерфейс, как показано ниже.

2. Нажмите «Открыть файл» и откройте набор данных поезда.

3. Теперь удалите столбцы индекса, просто выбрав их и нажав кнопку «Удалить», расположенную внизу.

4. Один класс SVM в Weka не принимает числовое значение в качестве класса, поэтому класс набора данных, который в этом случае является столбцом «метка», должен быть преобразован в номинальный класс.

5. Чтобы преобразовать в номинальный класс, выберите столбец «метка» › Выбрать фильтр › неконтролируемый › атрибут › NumericToNominal

6. Измените свойства и, щелкнув левой кнопкой мыши имя фильтра вверху, выберите «Показать свойства…».

7. Измените «attributeIndices» на индексы столбца класса, в этом примере мой столбец класса является последним столбцом, поэтому я набираю «последний» в поле.

8. Нажмите «Применить».

Использование SVM One Class и получение результатов

  1. Выберите Классификатор › weka › functions › LibSVM

2. Выберите «Предоставленный набор тестов» и перейдите к набору тестовых данных. Затем установите столбец класса.

3. Отредактируйте конфигурации алгоритма и измените SVMType на «одноклассовый SVM (классификация)» и соответствующим образом измените значение «nu».

4. Вывести результаты в файл. Выберите «Дополнительные параметры…» › Выберите «Выходные прогнозы» › CSV › outputFile (перейдите в нужный каталог и введите имя выходного файла, который вы хотите установить)

5. Нажмите «Старт»!

Результаты

Что касается результатов, Weka определит выбросы как «?», а выбросы как «1», другими словами, «?» — это точки данных, которые SVM одного класса предсказал как аномалии.

Вывод

Однако, если кто-то знаком с python, я бы порекомендовал вместо этого использовать python scikit-learn и pandas, так как это даст еще одну возможность поиграть с набором данных! Надеюсь, вы чему-то научились, несмотря ни на что! :)