2017-06-12 3 views
0

Spark Scalaを使用して関連ルールを実行しようとしています。最初にFPGrowthツリーを作成し、Association Rulesメソッドに渡します。最大パターン長fpgrowth apache spark

ただし、LHSとRHSで必要な項目の数を制限するために、最大パターン長パラメータを追加したいと考えています。私はアイテム間の1対1の関連付けが欲しいだけです。基本的に、私が探しています

ItemA => ItemB, {confidence} 

ItemB => ItemC, {confidence} 

ItemA => ItemB, {confidence} 

ItemB => ItemC, {confidence} 

ItemA,ItemB => ItemC, {confidence} 

ItemA,ItemD => ItemE, {confidence} 

しかし、私はそれが両側に一つのアイテムを持っている結果、すなわちを返すようにしたい:

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) 

結果の相関ルールがありますScalaの最大長パラメータを指定する方法Scala/Spark Java

何か提案がありますか?

答えて

0

あなたは結果filterすることができます:あなたの助けを

val ar = new AssociationRules().setMinConfidence(0.6) 
val results = ar.run(model.freqItemsets) 
       .filter(rule => rule.antecedent.size == 1 && rule.consequent.size == 1) 
+0

感謝を。これは私のために働いた! –

+0

一つの大きな欠点は、これがまだ実際にそれらを検索していることです...私たちは興味を持っていないこれらの団体に時間と問題を抱えて記憶しています。 – Roelant