Если вы хотите воспользоваться преимуществами искусственного интеллекта и добавить некоторые функции прогнозирования в свое приложение на основе Java, у вас есть два разных варианта:

  • Первый — реализовать алгоритмы обучения самостоятельно, начав с нуля, выбирайте этот вариант, когда минимизация зависимостей является для вас важным критерием. Но учтите, что это очень дорогое решение из-за большого количества реализуемых алгоритмов, а также из-за сложности поиска алгоритма, который лучше всего подходит для ваших бизнес-данных.
  • Второй вариант — использовать библиотеку машинного обучения с открытым исходным кодом для java. Существует множество библиотек, которые обеспечивают реализацию алгоритмов машинного обучения на языке Java. Использование одной из этих библиотек сэкономит вам много времени и стандартного кода. Это помогает исследователю данных больше сосредоточиться на важных частях процесса обнаружения знаний (очистка данных, выбор алгоритма, характеристики модели прогнозирования в наборе данных и т. д.), вместо того чтобы тратить время на реализацию алгоритмов. Проверяя широко используемые библиотеки Java, вы найдете WEKA в верхней части диапазона. Waikato Environment for Knowledge Analysis — это библиотека машинного обучения для Java. Согласно официальному веб-сайту Университета Вайкато, где была разработана WEKA, она загружается миллионы раз и используется во всем мире.

ВЕКА:

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

  • WEKA GUI

WEKA GUI — это инструмент графического пользовательского интерфейса WEKA, который позволяет взаимодействовать с различными функциями WEKA с помощью одного из его инструментов с графическим интерфейсом (The Explorer, The Experimenter, KnowledgeFlow и CLI). Каждый из этих четырех инструментов предназначен для конкретного случая использования. Зная, что дает каждый из них, вы сможете использовать WEKA в полную силу, чтобы извлекать функции и закономерности из ваших бизнес-данных.

  • WEKA Explorer:

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

  • ЭКСПЕРИМЕНТ WEKA:

Экспериментатор используется для сравнения производительности алгоритмов на наборах данных. Вы можете сравнить производительность двух или более алгоритмов в одном заданном наборе данных, так же как вы можете сравнить производительность одного алгоритма в двух или более заданных наборах данных, или вы также можете сравнить производительность более чем одного алгоритма во многих заданных наборах данных. Таким образом, наилучшей практикой после предварительной обработки вашего набора данных является использование экспериментатора, чтобы найти алгоритм, который лучше всего соответствует вашим данным, а затем использовать проводник для обучения и применения модели прогнозирования на основе выбранного алгоритма.

  • WEKA KnowledgeFlow:

Графический интерфейс KnowledgeFlow — это инструмент визуального программирования WEKA, вы можете настроить весь рабочий процесс интеллектуального анализа данных для обучения и тестирования модели прогнозирования, перетащив узлы в рабочий процесс, а затем настроив их. Это обеспечивает полную видимость всего процесса Discovery Knowledge.

  • WEKA CLI:

Вышеупомянутые инструменты WEKA GUI ограничены в плане памяти, поскольку они используют виртуальную машину Java. В контексте БОЛЬШИХ ДАННЫХ, где набор данных содержит более 1 миллиона строк и 25 атрибутов, этот графический интерфейс зависает и выдает исключение о нехватке памяти. Инструмент командной строки WEKA CLI преодолевает это ограничение и позволяет работать с БОЛЬШИМИ ДАННЫМИ. Действительно, WEKA предоставляет интерфейс Java под названием UpdateableClassifier, который устраняет ограничение памяти, загружая каждый раз в память один экземпляр, а не весь набор данных. Единственным ограничением является то, что вы не должны использовать метод k-кратной перекрестной проверки для оценки модели. Вместо этого используйте только метод разделения на обучающий и тестовый наборы.

Несмотря на то, что работа с BIG DATA включена в WEKA CLI. Обработка данных и обучение модели может занять некоторое время. Чтобы ускорить вычисления, WEKA делает возможной как распределенную, так и потоковую обработку в реальном времени с использованием аналитических механизмов Hadoop или Apache Spark в кластере(ах).

  • ВЕКА API:

Weka API — это Java API WEKA, с помощью которого вы можете интегрировать все функции WEKA в свое Java-приложение. Использование WEKA API должно стать последним этапом вашего жизненного цикла разработки знаний. Прежде чем перейти к этому шагу и интегрировать функциональность искусственного интеллекта в свое Java-приложение, вы, безусловно, должны были использовать другие инструменты WEKA GUI, чтобы быстро найти алгоритм, который лучше всего подходит для ваших бизнес-данных.

Автор Хамза ЭЛЬ РАЗИ (инженер по работе с данными)