поддержка и лифт для правил роста fp в mllib spark / scala

scala apache-spark apache-spark-mllib

637 просмотра

1 ответ

36 Репутация автора

Я хотел бы извлечь поддержку и поднять для сгенерированных правил ассоциации с помощью fp-growth. Найдя правила с кодом ниже, я вручную провожу транзакции и рассчитываю поддержку и лифт. Интересно, есть ли более легальный способ извлечь эту информацию? Спасибо!

val fpg = new FPGrowth()
  .setMinSupport(0.2)
  .setNumPartitions(10)
val model = fpg.run(transactions)

model.freqItemsets.collect().foreach { itemset =>
  println(itemset.items.mkString("[", ",", "]") + ", " + itemset.freq)
}

val minConfidence = 0.8
model.generateAssociationRules(minConfidence).collect().foreach { rule =>
  println(
    rule.antecedent.mkString("[", ",", "]")
      + " => " + rule.consequent .mkString("[", ",", "]")
      + ", " + rule.confidence)
}
Автор: Simon Pastuch Источник Размещён: 18.07.2016 01:09

Ответы (1)


1 плюс

48 Репутация автора

мм не элегантно, но это то, что я делаю

val freqs = fpgrowth_model(transactions, min_supp=supp)
val supps = freqs.withColumn("support", $"freq" / total_transactions)
val rules = get_rules(transactions, min_supp=supp, min_confidence=conf)
val cross_df = supps.join(rules, $"items" === $"consequent")
               .withColumn("lift",$"confidence" / $"support")
Автор: TKW Размещён: 14.03.2019 12:49
Вопросы из категории :
32x32