machine-learning - 每个属性具有大量值的分类数据的关联规则挖掘

标签 machine-learning data-mining apriori

我正在努力对数据集进行关联规则挖掘,该数据集有很多二进制属性,但也有很多分类属性。将分类转换为二进制在理论上是可能的,但不切实际。我正在寻找一种技术来解决这个问题。

以汽车规范数据为例,要执行关联规则挖掘,汽车颜色属性应该是二进制,对于颜色,我们有很多颜色要转换为二进制(我的数据集是保险声明,它比这个例子糟糕得多)。

最佳答案

关联规则挖掘不使用“属性”。它处理市场购物篮类型的数据。 将其预处理为二进制属性是没有意义的。因为您需要再次将二进制属性转换为项目(最坏的情况,如果您也在寻找,则将“color=blue”项目翻译为“color_red=0,color_black=0,... color_blue=1”负面规则。

不幸的是,不同的算法以及理论上相同的算法的不同实现将会有很大的不同。

APRIORI 的设计可以很好地适应交易数量,但不能很好地适应具有最低支持的不同项目的数量;特别是如果您期望短项集仅频繁出现。其他算法,例如 Eclat 和 FP-Growth 可能会更好。但是YMMV。

首先,尝试将数据集转换为购物篮格式,认为每个项目都是相关的。丢弃所有其他东西。然后从较高的最低支持开始,直到开始获得结果。使用太低的最低支持运行可能会耗尽内存,或者可能需要很长时间。

此外,请确保得到良好的实现。很多自称是 APRIORI 的东西都只是一半,而且速度慢得令人难以置信。

关于machine-learning - 每个属性具有大量值的分类数据的关联规则挖掘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908105/

相关文章:

machine-learning - 局部线性嵌入中如何处理奇异矩阵?

search - 搜索引擎的相关性排名和推荐系统之间的区别

python-3.x - 导入 PyARMViz 包时抛出类型错误。怎么解决呢?

dataset - Apriori 算法的超市数据集

python - 使用Python迭代列中的元素以进行预处理

r - 我在训练神经网络时收到错误 "Error in nnet.default(x, y, w, ...) : too many (77031) weights"

database-design - 设计超大、低粒度数据库的技巧/链接/书籍?

java - 如何用java计算支持度的置信度

machine-learning - TensorFlow:实现类加权交叉熵损失?

nlp - 使用句子级相似度的释义识别