对每个属性具有大量值的分类数据的关联规则挖掘
Association Rule Mining on Categorical Data with a High Number of Values for Each Attribute
我正在努力挖掘一个数据集的关联规则,该数据集有很多二元属性,但也有很多分类属性。将分类转换为二进制在理论上是可行的,但不切实际。我正在寻找一种技术来解决这个问题。
汽车规格的数据示例,执行关联规则挖掘,汽车颜色属性应该是二进制的,如果是颜色,我们有很多颜色要转换为二进制(我的数据集是保险索赔,比这个例子更糟糕。
关联规则挖掘不使用"attributes"。它处理 购物篮 类型的数据。
将其预处理为二进制属性没有意义。因为您需要再次将二进制属性转换为项目(最坏的情况是,如果您也在寻找否定规则,那么您会将 "color=blue" 项目转换为 "color_red=0, color_black=0, ... color_blue=1"。
不同的算法 - 不幸的是,理论上相同算法的不同实现 - 将有很大不同。
APRIORI 的设计可以很好地扩展交易数量,但不能很好地扩展具有最低支持的不同项目的数量;特别是如果您希望短项集仅频繁出现。 Eclat 和 FP-Growth 等其他算法在那里可能要好得多。但是YMMV.
首先,尝试将数据集转换为购物篮格式,您认为每个项目都是相关的。丢弃其他一切。然后从最低支持开始,直到开始获得结果。 运行 太低的最低支持可能 运行 内存不足,或者可能需要很长时间。
此外,请确保获得良好的实施。很多自称是 APRIORI 的东西其实只是一半,而且慢得令人难以置信。
我正在努力挖掘一个数据集的关联规则,该数据集有很多二元属性,但也有很多分类属性。将分类转换为二进制在理论上是可行的,但不切实际。我正在寻找一种技术来解决这个问题。
汽车规格的数据示例,执行关联规则挖掘,汽车颜色属性应该是二进制的,如果是颜色,我们有很多颜色要转换为二进制(我的数据集是保险索赔,比这个例子更糟糕。
关联规则挖掘不使用"attributes"。它处理 购物篮 类型的数据。 将其预处理为二进制属性没有意义。因为您需要再次将二进制属性转换为项目(最坏的情况是,如果您也在寻找否定规则,那么您会将 "color=blue" 项目转换为 "color_red=0, color_black=0, ... color_blue=1"。
不同的算法 - 不幸的是,理论上相同算法的不同实现 - 将有很大不同。
APRIORI 的设计可以很好地扩展交易数量,但不能很好地扩展具有最低支持的不同项目的数量;特别是如果您希望短项集仅频繁出现。 Eclat 和 FP-Growth 等其他算法在那里可能要好得多。但是YMMV.
首先,尝试将数据集转换为购物篮格式,您认为每个项目都是相关的。丢弃其他一切。然后从最低支持开始,直到开始获得结果。 运行 太低的最低支持可能 运行 内存不足,或者可能需要很长时间。
此外,请确保获得良好的实施。很多自称是 APRIORI 的东西其实只是一半,而且慢得令人难以置信。