r - 多个连续变量之间的关联规则

标签 r algorithm machine-learning associations arules

我有一个很大的数据集,我正在尝试挖掘变量之间的关联规则。

我的问题是我有 160 个变量,我必须在其中查找关联规则,而且我有超过 1800 个项目集。

此外,我的变量是连续变量。为了挖掘关联规则,我通常使用apriori算法,但众所周知,该算法需要使用分类变量。

有人对我在这种情况下可以使用哪种算法有任何建议吗?

我的数据集的一个受限示例如下:

ID_Order   Model     ordered quantity
A.1        typeX     20
A.1        typeZ     10
A.1        typeY     5
B.2        typeX     16
B.2        typeW     12
C.3        typeZ     1
D.4        typeX     8
D.4        typeG     4
...

我的目标是挖掘不同产品之间的关联规则和相关性,也许使用 R 中的神经网络算法有人对如何解决这个问题有任何建议吗?

提前致谢

最佳答案

您可以像这样从数据集创建交易:

library(dplyr)

此函数用于获取每个ID_Order的交易

concat <- function(x) {
  return(list(as.character(x)))

}

ID_Orderdf 进行分组并连接。 pull() 返回列表中串联的Model

a_list <- df %>% 
  group_by(ID_Order) %>% 
  summarise(concat = concat(Model)) %>%
  pull(concat)

将名称设置为ID_Order:

names(a_list) <- unique(df$ID_Order)

然后您可以使用包arules:

获取交易类的对象:

transactions <- as(a_list, "transactions")

提取规则。您可以分别在 suppconf 中设置最小支持度和最小置信度。

rules <- apriori(transactions, 
                 parameter = list(supp = 0.1, conf = 0.5, target = "rules"))

要检查规则,请使用:

inspect(rules)

这就是你得到的:

     lhs              rhs     support confidence lift      count
[1]  {}            => {typeZ} 0.50    0.50       1.0000000 2    
[2]  {}            => {typeX} 0.75    0.75       1.0000000 3    
[3]  {typeW}       => {typeX} 0.25    1.00       1.3333333 1    
[4]  {typeG}       => {typeX} 0.25    1.00       1.3333333 1    
[5]  {typeY}       => {typeZ} 0.25    1.00       2.0000000 1    
[6]  {typeZ}       => {typeY} 0.25    0.50       2.0000000 1    
[7]  {typeY}       => {typeX} 0.25    1.00       1.3333333 1    
[8]  {typeZ}       => {typeX} 0.25    0.50       0.6666667 1    
[9]  {typeY,typeZ} => {typeX} 0.25    1.00       1.3333333 1    
[10] {typeX,typeY} => {typeZ} 0.25    1.00       2.0000000 1    
[11] {typeX,typeZ} => {typeY} 0.25    1.00       4.0000000 1

关于r - 多个连续变量之间的关联规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47178356/

相关文章:

R 数据框 : select rows that meet logical conditions over multiple columns (variables) indexed by name

r - 数据表。快速计算每列内更改次数的方法

r - data.table用多列均值和ID替换NA

r - 从多面 Canvas 上分离 `facet_grid` 条?

algorithm - 找到彼此之间的距离是一个数的倍数的点的子集

c++ - 按位比较效率

arrays - 查找总和为 0 的数组的所有子集

python - Tensorflow 在使用 tf.cond() 时要求输入不必要的占位符

python - 如何在机器学习模型中使用 train.csv 、 test.csv 和 ground_truth.csv ? (交叉验证/Python)

c++ - OpenCV 3.1.0 C++ 预测函数 RAW_OUTPUT 返回值有时是反的