Во многих моих предыдущих блогах я писал об обучении правилам ассоциации, о том, что это такое и как это выполняется. В этом блоге мы собираемся использовать обучение правилам ассоциации, чтобы увидеть его в действии, и для этой цели мы будем использовать 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 г.