Spark2.2 機器學習庫 關聯規則

基於Spark的FPGrowth(關聯規則算法)

關聯規則

關聯規則:用於表示數據內隱含的關聯性,例如:購買尿布的人往往會購買啤酒。

支持度(support)
支持度:{X, Y}同時出現的概率,例如:{尿布,啤酒}同時出現的概率

{尿布,啤酒}的支持度 = 800 / 10000 = 0.08 
{尿布,麪包}的支持度 = 100 / 10000 = 0.01

注意:{尿布,啤酒}的支持度等於{啤酒,尿布}的支持度,支持度沒有先後順序之分

置信度(confidence)


置信度:購買X的人,同時購買Y的概率,例如:購買尿布的人,同時購買啤酒的概率,而這個概率就是購買尿布時購買啤酒的置信度

( 尿布 -> 啤酒 ) 的置信度 = 800 / 1000 = 0.8 
( 啤酒 -> 尿布 ) 的置信度 = 800 / 2000 = 0.4

 

參數

val fpgroth=new FPGrowth().setItemsCol("int_arr")  //設置字段
  .setMinSupport(0.5)                              //支持度
  .setMinConfidence(0.6)                           //自信度

     # 頻繁項集
    model.freqItemsets.show()

    # 生成的關聯規則
    model.associationRules.show()

    # transform根據所有關聯規則檢查輸入項,並將結果作爲預測
    model.transform(df).show()

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章