Максимальная длина рисунка fpgrowth apache spark
Я пытаюсь запустить правила ассоциации, используя Spark Scala. Сначала я создаю дерево FPGrowth и передаю его методу правил ассоциации.
Тем не менее, я хочу добавить параметр максимальной длины шаблона, чтобы ограничить количество элементов, которые я хочу на LHS и RHS. Мне нужны только однозначные связи между предметами.
val model = new FPGrowth()
.setMinSupport(0.1)
.setNumPartitions(10)
.run(transactions)
// Generate association rules based on the frequent sets generated by FPgrowth
val ar = new AssociationRules().setMinConfidence(0.6)
val results = ar.run(model.freqItemsets)
Результирующие правила ассоциации:
ItemA => ItemB, {confidence}
ItemB => ItemC, {confidence}
ItemA,ItemB => ItemC, {confidence}
ItemA,ItemD => ItemE, {confidence}
Но я только хочу, чтобы он возвращал результаты, которые имеют один элемент с обеих сторон, а именно:
ItemA => ItemB, {confidence}
ItemB => ItemC, {confidence}
В основном, я ищу способ указать максимальную длину параметра в Spark Scala/Spark Java
Какие-либо предложения?
1 ответ
Решение
Вы можете filter
результаты, достижения:
val ar = new AssociationRules().setMinConfidence(0.6)
val results = ar.run(model.freqItemsets)
.filter(rule => rule.antecedent.size == 1 && rule.consequent.size == 1)