首先當然要配置r語言環境變數什麼的
d:\r-3.5.1\bin\x64;
d:\r-3.5.1\bin\x64\r.dll;
d:\r-3.5.1;
d:\programdata\anaconda3\lib\site-packages\rpy2;
本來用python也可以實現關聯規則,雖然沒包,但是視覺化挺麻煩的
view code
import rpy2.robjects as robjects
b=('''
install.packages("arules")
install.packages("arulesviz")
''')
robjects.r(b)
然後就是主**了
import rpy2.robjects as robjects
a=('''encoding("utf-8")
setwd("f:/goverment/aprior")
all_data
colclasses=c("factor","factor","factor","factor","factor","factor","factor","factor","factor","factor","factor","factor"))
library(arules)
rule=apriori(data=all_data[,c(1,4,5,6,7,8,9,10,12)], parameter = list(support=0.05,confidence=0.7,minlen=2,maxlen=10))
''')
robjects.r(a)
robjects.r('''
rule.subset1)
#inspect(rule.subset)
rules.sorted
subset.matrix
lower.tri(subset.matrix,diag=t)
subset.matrix[lower.tri(subset.matrix,diag = t)]
redundant=1 #這五條就是去冗餘(感興趣可以去網上搜),我雖然這裡寫了,但我沒有去冗餘,我的去了以後乙個規則都沒了
which(redundant)
rules.pruned
#inspect(rules.pruned) #輸出去冗餘後的規則
''')
c=('''
library(arulesviz)#掉包
plot(subrules,method = "graph")#畫圖
#dev.off()
rule.sorted
rules.write
write.csv(rules.write,"f:/goverment/aprior/newrules.csv",fileencoding="utf-8")
''')
robjects.r(c)
#取出儲存的規則,放到乙個列表中
from pandas import read_csv
data_set = read_csv("f:/goverment/aprior/newrules.csv")
data = data_set.values[:, :]
rul =
for line in data:
ls =
for j in line:
try :
j=float(j)
if j>0 and j<=1:
j=str(round(j*100,2))+"%"
else:
except:
for line in rul:
print(line)
R語言資料探勘2 1 2 1 關聯規則
2.1.2.1 關聯規則 關聯分析可以從海量資料集中發現有意義的關係,這種關係可以表示成關聯規則的形式或頻繁項集的形式。具體的關聯分析演算法將在後面乙個章節中給出。關聯規則挖掘旨在發現給定資料集 事務資料集或其他序列 模式 型別資料集 中的結果規則集合。給定預先定義的最小支援度計數s和置信度c,給定...
R語言 資料探勘 R語言如何做關聯規則?
一 前言 提到資料探勘,我們第一反應就是之前聽到的啤酒和尿不濕的故事,該故事就是典型的資料探勘中的關聯規則。購物籃分析區別於傳統的線性回歸的主要區別為,關聯分析針對離散資料 下面我們利用r語言的arules包及apriori演算法對商品交易資料進行關聯規則挖掘,二 常見關聯規則 關聯規則 牛奶 雞蛋...
R語言資料探勘值關聯規則挖掘
關聯規則挖掘步驟及 如下 設定工作目錄 setwd e project rexample enterpresponser apriori 載入兩個包 library matrix library arules 讀取資料 幫助文件 tr read.transactions my transaction...