我想添加兩個附加度量作爲arules包中的「檢查」函數的結果。他們是Kulczynski和不平衡比率。 您可以幫助我獲取信息,在哪裏可以找到檢查功能的代碼以及如何修改它。如何在arules包中添加更多的感興趣度量
感謝
我想添加兩個附加度量作爲arules包中的「檢查」函數的結果。他們是Kulczynski和不平衡比率。 您可以幫助我獲取信息,在哪裏可以找到檢查功能的代碼以及如何修改它。如何在arules包中添加更多的感興趣度量
感謝
所有你需要做的是,將附加列添加到質量data.frame。 Inspect會自動選擇這些。下面是從? interestMeasure
的例子:
data("Income")
rules <- apriori(Income)
## calculate a single measure and add it to the quality slot
quality(rules) <- cbind(quality(rules),
hyperConfidence = interestMeasure(rules, method = "hyperConfidence",
transactions = Income))
inspect(head(sort(rules, by = "hyperConfidence")))
lhs rhs support confidence lift hyperConfidence
1 {ethnic classification=hispanic} => {education=no college graduate} 0.1096568 0.8636884 1.224731 1
2 {dual incomes=no} => {marital status=married} 0.1400524 0.9441176 2.447871 1
3 {occupation=student} => {marital status=single} 0.1449971 0.8838652 2.160490 1
4 {occupation=student} => {age=14-34} 0.1592496 0.9707447 1.658345 1
5 {occupation=student} => {dual incomes=not married} 0.1535777 0.9361702 1.564683 1
6 {occupation=student} => {income=$0-$40,000} 0.1381617 0.8421986 1.353027 1
失衡是相當直截了當:
library(arules)
data("Income")
rules <- apriori(Income)
suppA <- support(lhs(rules), trans = Income)
suppB <- support(rhs(rules), trans = Income)
suppAB <- quality(rules)$supp
quality(rules)$imbalance <- abs(suppA - suppB)/(suppA + suppB - suppAB)
inspect(head(rules))
lhs rhs support confidence lift imbalance
1 {} => {language in home=english} 0.9128854 0.9128854 1.000000 0.03082862
2 {occupation=clerical/service} => {language in home=english} 0.1127109 0.9292566 1.017933 0.69021050
3 {ethnic classification=hispanic} => {education=no college graduate} 0.1096568 0.8636884 1.224731 0.61395923
4 {dual incomes=no} => {marital status=married} 0.1400524 0.9441176 2.447871 0.35210356
5 {dual incomes=no} => {language in home=english} 0.1364165 0.9196078 1.007364 0.63837280
6 {occupation=student} => {marital status=single} 0.1449971 0.8838652 2.160490 0.34123127
的Kulczynski量度1/2(P(A | B)+ P(B | A))是一種有點棘手。 P(A | B)就是A-> B的置信度。但是,對於P(B | A),我們需要B-> A的置信度。因此,我們需要建立一套新的與左側和右側的規則交換和計算的信心:
confAB <- quality(rules)$conf
BArules <- new("rules", lhs = rhs(rules), rhs = lhs(rules))
confBA <- interestMeasure(BArules, method = "confidence", trans = Income)
quality(rules)$kulczynski <- .5*(confAB + confBA)
inspect(head(rules))
lhs rhs support confidence lift imbalance kulczynski
1 {} => {language in home=english} 0.9128854 0.9128854 1.000000 0.03082862 0.9564427
2 {occupation=clerical/service} => {language in home=english} 0.1127109 0.9292566 1.017933 0.69021050 0.5263616
3 {ethnic classification=hispanic} => {education=no college graduate} 0.1096568 0.8636884 1.224731 0.61395923 0.5095922
4 {dual incomes=no} => {marital status=married} 0.1400524 0.9441176 2.447871 0.35210356 0.6536199
5 {dual incomes=no} => {language in home=english} 0.1364165 0.9196078 1.007364 0.63837280 0.5345211
6 {occupation=student} => {marital status=single} 0.1449971 0.8838652 2.160490 0.34123127 0.6191456
謝謝邁克爾,它工作完美 –
感謝您的信息, –
感謝您的信息。爲了計算Kulczynski和不平衡比率,我需要使用每個有趣事務的單個項目集支持。例如,不平衡比率等於| sup(A)-sup(B)| /(sup(A)+ sup(B) -sup(A-> B)) –