Во многих моих предыдущих блогах я писал об обучении правилам ассоциации, о том, что это такое и как это выполняется. В этом блоге мы собираемся использовать обучение правилам ассоциации, чтобы увидеть его в действии, и для этой цели мы будем использовать KSAI, библиотеку машинного обучения, написанную исключительно на Scala. Итак, начнем.

Добавление KSAI в ваш проект

Вы можете добавить KSAI в свой проект SBT, используя следующую строку импорта:

libraryDependencies += "io.github.knolduslabs" %% "ksai" % "0.0.4"

Or

Вы можете добавить KSAI в свой проект maven, используя следующее:

<dependency> <groupId>io.github.knolduslabs</groupId> <artifactId>ksai_2.12</artifactId> <version>0.0.4</version> </dependency>

Использование KSAI для изучения правил ассоциации

Я буду использовать файл данных kosarak.dat для демонстрации приложения. Я также включу этот файл в репозиторий github, который будет предоставлен ниже, чтобы вы, ребята, тоже могли поиграть с ним.

Чтобы использовать алгоритм, вам сначала нужно создать объект ARM. Для этого вам нужно преобразовать ваши данные в массив Array[Array[Int]]. Ниже приведен код, который я использую для выполнения того же самого.

val data: Array[Array[Int]] = Source.fromFile(getClass.getResource("/kosarak.dat").getPath) .getLines() .map(_.split(" ").map(_.toInt)) .toArray

Потрясающий! Теперь мы можем создать объект ARM. Делаем это следующим образом –

val arm = ARM(data, 0.003)

Теперь нам нужно сгенерировать правила, для которых мы можем просто вызвать метод learn в ARM. Мы получаем что-то вроде ниже -

val eventualResults = arm.learn(0.5)

Что такое 0,003 и 0,5? Это минимальная поддержка и доверие, которые мы собираемся использовать. Не знаете о них? Тогда вы должны проверить мои предыдущие блоги, которые подробно объясняют, что они из себя представляют и какова их ценность.

Чтобы увидеть все сгенерированные правила, мы можем просто распечатать их, как показано ниже:

eventualResults.map(array => array.foreach(rule => println(rule)))

И мы сможем увидеть все правила, с поддержкой и уверенностью, на консоли.

Вы можете получить код и файл данных, использованный в этом примере, здесь.

Это все для этого блога. Еще много интересных алгоритмов в KSAI вы можете найти прямо здесь.

Спасибо за чтение!

Первоначально опубликовано на сайте blog.knoldus.com 10 сентября 2018 г.