Люди любят предсказания; каждый хочет знать или хочет иметь возможность сказать, что произойдет в следующие 2 или 5 лет или сколько они заработают в следующем квартале года. В наши дни данные стали инструментом, который люди используют для прогнозирования. Он помогал людям принимать важные деловые решения, важные решения в отношении здоровья, финансовые решения, решения в отношении образования и даже решения в отношении брака. Как люди делают эти прогнозы? Они используют наборы данных. Они разрабатывают модели, которые впоследствии могут помочь им предсказать будущие события. При построении некоторых моделей используется концепция машинного обучения. Как следует из названия, машина (компьютер) учится на предыдущих наборах данных и применяет эти знания наблюдений или закономерностей для прогнозирования будущих событий.

Что такое WEKA

В настоящее время существует несколько инструментов машинного обучения. Некоторые из них включают RapidMiner, KNIME, MOA и т. Д. WEKA - один из таких инструментов. Коротко о WEKA; Он был создан Университетом Вайкато, Новая Зеландия. Фактически это было сделано вместе с книгой под названием «Интеллектуальный анализ данных: практические инструменты и методы машинного обучения». WEKA была написана на Java.

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

WEKA может использоваться для подготовки данных, классификации, регрессии, кластеризации, анализа и визуализации ассоциативных правил. Он содержит множество алгоритмов машинного обучения. WEKA можно скачать ЗДЕСЬ

Изучение того, как использовать WEKA, является довольно обширным, но здесь мы будем просто делать прогнозы с его помощью.

Когда вы открываете WEKA, вы встречаетесь с интерфейсом, показанным ниже:

Как видно выше, у WEKA есть 5 основных приложений. Для прогнозов, которые мы собираемся сделать, мы будем использовать приложение Explorer (первое). Когда вы нажимаете на приложение Explorer, открывающийся интерфейс выглядит следующим образом:

Мы бы использовали популярный Titanic Dataset (эти данные содержат подробную информацию о пассажирах, которые поднялись на борт грандиозного корабля Титаник, затонувшего в 1912 году). В наборе данных, который я использовал, всего 7 столбцов.

Я разделил набор данных на два: 787 для обучения и 100 для тестирования модели. Обратите внимание, что это разделение может быть выполнено WEKA автоматически, если установлено. Я также удалил столбец имени, потому что он не будет иметь отношения к созданию нашей модели и прогнозам, а также потому, что точки, найденные в заголовке этих имен, представляют собой ошибку с форматом csv в WEKA. Так что обратите внимание на содержимое ваших наборов данных. Я также изменил 0 и 1 в столбце «Выжившие» на «Нет» и «Да» соответственно. WEKA определяет между номинальными и числовыми столбцами, и когда вы указываете им числовые значения вместо номинальных или наоборот, это влияет на визуализацию и может помешать вам использовать определенные алгоритмы.

Загрузка набора данных

Первое, что нужно сделать, это загрузить набор данных. Это можно сделать, просто нажав «Открыть файл», а затем выбрав набор данных, который будет использоваться.

При выборе набора данных можно изменить тип файла, чтобы легко найти набор данных, особенно если он не в формате arff.

В этом случае наш набор данных находится в формате csv.

После загрузки некоторые визуализации создаются автоматически. Больше визуализаций в других столбцах можно увидеть, если щелкнуть «Визуализировать все». Подробности отображаются при наведении курсора на блоки на диаграммах:

Редактирование набора данных в WEKA

Вернемся к набору данных. Если по какой-либо причине набор данных необходимо отредактировать в интерфейсе WEKA, нажмите кнопку «Редактировать», как показано выше. Набор данных открывается и становится доступным для редактирования. Двойной щелчок по экземплярам позволяет вносить изменения в экземпляры, а щелчок правой кнопкой мыши по заголовкам столбцов позволяет вносить изменения, связанные с столбцами.

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

Когда вы нажимаете на меню «Классифицировать», вы видите следующее:

Обратите внимание на столбец «(Nom) Survived», как показано выше. Это должен быть столбец, определяющий классификацию (это то, к чему относится каждый экземпляр во всем наборе данных). Если столбец неправильно выбран WEKA, это можно изменить. Но чтобы помочь WEKA сделать это правильно, при подготовке файла csv поместите классифицирующий столбец (выходной столбец) перед любым другим столбцом.

Выбор алгоритма и варианта тестирования

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

Алгоритм можно выбрать с помощью кнопки «Выбрать». Разделение данных для обучения и тестирования можно настроить с помощью параметров, представленных выше. «Использовать обучающий набор» означает, что весь набор данных, используемый для обучения, также будет использоваться для тестирования производительности модели. «Поставка тестового набора» подразумевает, что внешний набор тестовых данных, хранящийся в стороне, может быть загружен и использован для тестирования, в то время как ранее загруженный набор данных будет использоваться только для обучения. «Перекрестная проверка» означает, что набор данных будет разделен на 10 частей; 9 частей будут использованы для обучения и 1 часть для тестирования. Процесс повторяется десять раз, каждый раз с новой частью. Затем все результаты тестирования (все 1 часть) усредняются. «Процентное разделение» просто делит набор данных на две части, например 80% для обучения и 20% для тестирования.

Мы бы выбрали алгоритм J48 (находится под деревьями) и опцию Supply test set. Кнопка запуска запускает обучение, а затем и тестирование.

Интерпретация результатов WEKA

Результаты WEKA могут многое интерпретировать. Как правило, рекомендуется знать показатели производительности, чтобы знать, что лучше всего объясняет производительность модели.

В этом случае точность модели и матрица неточностей используются для объяснения производительности этой модели.

Прогнозы:

Предсказание экземпляров может быть выполнено двумя способами; с уже известными фактическими или правильными значениями (это называется тестированием, потому что прогнозирование выходных данных, когда известны фактические значения, обычно выполняется просто для проверки того, как работает модель) или с неизвестными фактическими значениями. Желательно сделать тестовое предсказание (которое уже было сделано выше) перед предсказанием, в котором выходы неизвестны, чтобы знать, насколько вы можете доверять своим предсказанным результатам.

Для прогноза, в котором выходные данные неизвестны, убедитесь, что имена столбцов соответствуют тем, которые используются в наборе обучающих данных. Также должен присутствовать выходной столбец, но он может быть заполнен вопросительными знаками (?), В конце концов, они действительно неизвестны.

Если для параметра Test все еще задано значение Test Set, выберите подготовленный набор данных для прогнозирования (обратите внимание, что я бы по-прежнему использовал тот же набор тестовых данных для объяснения, но я бы заменил экземпляры в столбце «Survived» вопросительными знаками ( ?).

Убедитесь, что вы выбрали формат вывода, в котором выбрано «Прогнозирование вывода». Этот шаг показан ниже:

Я предпочитаю формат HTML. из-за того, как это отображается. Когда инструкция выполняется в WEKA, дисплей выглядит следующим образом:

Для лучшего просмотра скопируйте тексты в блокнот, сохраните с расширением .html, закройте, а затем откройте в браузере. Вы получите следующее:

Выше вы можете видеть, что «фактические» столбцы заполнены вопросительными знаками. Что ж, хорошо, что нас интересует столбец «Прогноз». Отображаемые прогнозные значения располагаются последовательно в соответствии с порядком расположения набора данных в файле csv. Таким образом, это можно просто скопировать и добавить в файл csv поочередно, чтобы входные данные можно было увидеть вместе с предсказанными значениями. Столбец «прогноз» содержит вероятность, с которой был сделан прогноз. Например, мы можем видеть на экземпляре номер 14. Прогноз был сделан с вероятностью 100% (1) на основе обученной модели.

Обмен результатами прогнозов

Таким образом, будет проще выводить окончательные результаты, как показано ниже, или каким-либо другим предпочтительным способом, если легко понять, какие входные данные определяли вывод каждого экземпляра. Например, из второго ряда, показанного ниже, мы можем видеть, что если класс пассажира 20-летнего мужчины равен 3 и у пассажира нет братьев и сестер на борту, а оплаченный проезд составлял 7,75, то пассажир вряд ли выжить в Титанике (обратите внимание, что столбец стоимости проезда может быть удален, так как значения сильно различаются).

Вот так и делается прогноз!

В заключение важно знать, что используемую здесь модель J48 можно визуализировать как дерево решений (хотя здесь не показано). И из этого дерева решений могут быть сгенерированы операторы IF ELSE и, таким образом, переведены в работающее программное обеспечение. Поэтому, если вам недостаточно прогнозирования в WEKA, вы можете пойти дальше и создать программное обеспечение. WEKA позволяет многое сделать, почему бы не исследовать ее глубже, если она вам нравится!

Я буду рад ответить на вопросы, если у вас есть какие-либо вопросы об использовании WEKA для прогнозов.

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

Перекрестная проверка в Weka (pentaho.com)

Https://waikato.github.io/weka-wiki/making_predictions/