关联规则挖掘在具有大量属性值的分类数据上的应用

我在处理一个数据集的关联规则挖掘时遇到了困难,该数据集包含大量的二元属性,但也有很多分类属性。理论上可以将分类属性转换为二元属性,但实际上并不实用。我正在寻找一种技术来解决这个问题。

以汽车规格为例,为了执行关联规则挖掘,汽车颜色属性应该为二元属性,而在颜色方面,我们有很多颜色需要转换为二元属性(我的数据集是保险索赔,情况比这个例子还要糟糕)。


回答:

关联规则挖掘并不使用“属性”。它处理的是市场篮子类型的数据。将其预处理为二元属性是没有意义的。因为你需要再次将二元属性转换为项目(在最坏的情况下,你会将“color=blue”项目转换为“color_red=0, color_black=0, … color_blue=1”,如果你也在寻找负规则的话)。

不同的算法——以及理论上相同的算法的不同实现——不幸的是,会有非常不同的扩展性。

APRIORI算法设计用于很好地处理交易数量的扩展,但对于具有最小支持度的不同项目的数量扩展得并不好;特别是如果你期望只有短项目集是频繁的。其他算法如Eclat和FP-Growth在这方面可能表现得更好。但结果可能会有所不同。

首先,尝试将数据集转换为市场篮子格式,以一种你认为每个项目都相关的形式。丢弃其他所有内容。然后从一个较高的最小支持度开始,直到你开始得到结果。使用过低的最小支持度可能会耗尽内存,或者需要很长时间才能完成。

另外,确保获得一个好的实现。很多声称是APRIORI的东西实际上只是它的一个部分,而且速度非常慢。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注