簡體   English   中英

使用R腳本部署Azure ML實驗以挖掘關聯規則時出錯

[英]Error deploying azure ML experiment with R script for mining association rules

我在Azure機器學習工作室上創建了一個新實驗,該實驗通過模塊Execute R Script能夠從起始數據集中挖掘關聯規則。 在本實驗中,我使用了R版本Microsoft R Open 3.2.2

我首先在R Studio上編寫並測試了Azure ML實驗中使用的功能,但我沒有遇到任何問題。 這是我的實驗結構: 實驗

這是插入到Azure ML的模塊中的代碼的一部分,該代碼在R Studio上正常運行:

# Map 1-based optional input ports to variables
dataset1 <- maml.mapInputPort(1) # class: data.frame

library("arules")
library("sqldf")

x <- sqldf('select ID_Ordine, AnnoOrdine, ZonaCommerciale, Modello, SUM(Qta) as Qta 
            from dataset1 group by ID_Ordine, Modello order by ID_Ordine')

a_list1 <- transform(x, Modello = as.factor(Modello),
                     ID_Ordine = as.factor(ID_Ordine)) 
transactions <- as(split(x[,"Modello"], x[,"ID_Ordine"]), "transactions")
rules <- sort(apriori(transactions,
                        parameter = list(supp = 0.1, conf = 0.1, target = "rules",
                                         maxlen = 5)), by="lift")
gi <- generatingItemsets(rules) #remove inverse duplicated rules
d <- which(duplicated(gi))      #remove inverse duplicated rules
rules <- rules[-d]              #remove inverse duplicated rules

#create a dataframe to be used as output
result <- data.frame(label_lhs = labels(lhs(rules)), 
                     label_rhs = labels(rhs(rules)),
                     count = quality(rules)["count"])

# Select data.frame to be sent to the output Dataset port
maml.mapOutputPort("result");

如果我從代碼count = quality(rules)["count"] (將與計數有關的列導入到輸出數據幀的語句count = quality(rules)["count"]排除了這一行,則實驗可以正常進行,但是當我也導入count列時,執行實驗給我以下錯誤: 在此處輸入圖片說明

有人知道如何解決此錯誤,或者知道從Azure ML識別的arules對象中選擇count列的另一種方法嗎?

感謝您的任何建議

在此版本的包arulescount列不是由函數apriori()計算的,因此我以這種方式使用反公式計算支持量:

#create a dataframe to be used as output
result <- data.frame(label_lhs = labels(lhs(rules)), 
                     label_rhs = labels(rhs(rules)),
                     count = quality(rules)$support*length(transactions))

因為支持是使用以下公式計算的:

support = (number of transactions with A&B)/(number of total transactions)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM