Максимальная длина рисунка 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)
Другие вопросы по тегам