23.05.15 Одесса. Impact Hub Odessa. Конференция AI&BigData Lab
Быковский Александр (Java Senior Developer, Grid Dynamics)
"Ассоциативные правила для генерации рекомендаций для решений в сфере eCommerce на базе технологий Big Data"
Обзор и сравнительный анализ алгоритмов и подходов для генерации и выдачи рекомендаций для решений в сфере eCommerce на базе ассоциативных правил. В докладе будут рассмотрены основные метрики ассоциативных правил и различные области применения, приведены примеры реализаций на базе технологий BigData — HBase, Hadoop и других.
Подробнее:
http://geekslab.co/
https://www.facebook.com/GeeksLab.co
https://www.youtube.com/user/GeeksLabVideo
DataScience Lab 2017_Kappa Architecture: How to implement a real-time streami...GeeksLab Odessa
Weitere ähnliche Inhalte
Ähnlich wie AI&BigData Lab. Быковский Александр "Ассоциативные правила для генерации рекомендаций для решений в сфере eCommerce на базе технологий Big Data"
Ähnlich wie AI&BigData Lab. Быковский Александр "Ассоциативные правила для генерации рекомендаций для решений в сфере eCommerce на базе технологий Big Data" (20)
2. ЧтоЧто нана повесткеповестке днядня??
Что такое ассоциативные правила
в общем
Популярность ассоциативных
правил
Майнинг ассоциативных правил
Примеры
Вопросы
20. АлгоритмыАлгоритмы
Apriori, Eclact (Equivalence CLAss Transformation) -
классические алгоритмы
FP-growth - позволяет значительно экономить память,
быстрее аналогов
Dist-Eclact, ParEclact, PFP (Parallel FP-growth) - аналоги,
разработанные для параллельных вычислений,
подходящий для BigData. PFP используется в Spark MLlib
Top-K (Non Redundant) Association Rules - подходящий
для BigData. Используется в решении от
Predictiveworks, реазизованного на Spark (spark-arules)
24. class WordCountJob(args: Args) extends Job(args) {
TypedPipe.from(TextLine(args("input")))
.flatMap { line => tokenize(line) }
.groupBy { word => word } // use each word for a key
.size // in each group, get the size
.write(TypedTsv[(String, Long)](args("output")))
// Split a piece of text into individual words.
def tokenize(text : String) : Array[String] = {
// Lowercase each word and remove punctuation.
text.toLowerCase.replaceAll("[^a-zA-Z0-9s]", "").split("s+")
}
}
Пример кода для решения классической
задачи "Word count"
29. Spark ExamplesSpark Examples
val transactions = sc.textFile("../data/mllib/sample_fpgrowth.txt").map(_.split(" ")).cache()
println(s"Number of transactions: ${transactions.count()}")
>> Number of transactions: 6
import org.apache.spark.mllib.fpm.FPGrowth
val model = new FPGrowth().setMinSupport(0.8).setNumPartitions(2).run(transactions)
println(s"Number of frequent itemsets: ${model.freqItemsets.count()}")
>> Number of frequent itemsets: 1
model.freqItemsets.collect().foreach { itemset =>
println(itemset.items.mkString("[", ",", "]") + ", " + itemset.freq)
}
>> [z], 5
val model = new FPGrowth().setMinSupport(0.5).setNumPartitions(2).run(transactions)
model.freqItemsets.collect().foreach { itemset =>
println(itemset.items.mkString("[", ",", "]") + ", " + itemset.freq)
}
>> [t], 3
>> [t,x], 3
>> [t,x,z], 3
...
r z h k p
z y x w v u t s
s x o n r
x z y m t s q e
z
x z y r q t p
"../data/mllib/sample_fpgrowth.txt"