• 模糊关联规则挖掘


     模糊关联规则挖掘

      关联规则挖掘是数据挖掘最基本和最常用的算法之一,Apriori算法基本上是每个学习数据挖掘的同学掌握的第一个算法。但是,一般的关联规则挖掘算法无法处理涉及连续值的记录。  虽然某些算法把连续值通过划分区间的方法离散化,但是这种硬边界划分的方法效果并不是很好,一些在边缘附近的数据只能属于一个划分,而这与事实不符。比如,年龄的一个划分可以是青年,但如果我们把青年的区间定义为[20,30],则19岁的人就被排除在青年的范围之外了,显然这不是很合适。针对这种问题,我们可以基于模糊集把区间划分成多个模糊集,然后求得某个元素属于某个模糊集的概率(根据模糊隶属函数),这样的话每个元素都可以属于多个不同的模糊集,而不是只属于一个集合。划分模糊集的常用算法是FCM,见参考文献。

      当我们给定了所有连续值属性的模糊集划分之后,下一步就是进行关联规则的挖掘了,我们定义问题如下:

      T={t1,t2,...,tn}是数据集

      I={i1,i2,...,im}是属性集,我们假定所有的属性都是数值型。

      Fik={fik1,fik2,...,fikl}代表第ik个属性的模糊集。

      我们要挖掘的模糊关联规则的形式为:

       If X is A then Y is B.

      其中,X和Y是属性,A和B是X,Y对应的模糊集中的某个划分,比如:

      X为年龄,其对应的模糊集为{婴儿,幼儿,少年,青年,壮年,老年},A为青年,Y为薪水,其对应的模糊集为{低薪,中薪,高薪},B为高薪。

      模糊关联规则挖掘的过程为:

      1. 计算significance factor

      对于每个属性X与X属性对应的模糊集的划分的属性-划分对<X,A>,比如<年龄,青年>,计算其significance系数:

     

      其中

      maj是用FCM算法已经算好的模糊隶属函数的值,只有当其大于阀值w时,我们才会取其值,否则只取0.

       2. 计算certainty factor

      对于第一步求得的所有的significance系数大于给定值的<Z,C>对,我们计算所有属性-划分对:<X,A>,<Y,B>的certainty系数:

     

      求得的certainty系数大于给定值的<X,A>,<Y,B>就是我们要挖掘的关联规则:

      If X is A then Y is B. 

        参考文献:

        [1] Chan Man Kuok, Ada Fu, Man Hon Wong. Mining Fuzzy Association Rules in Databases.

        [2] FCM聚类算法简介

  • 相关阅读:
    SQLServer之创建表值函数
    SQLServer之创建标量函数
    SQLServer之函数简介
    SQLServer之创建分布式事务
    SQLServer之创建隐式事务
    SQLServer之创建显式事务
    SQLServer之事务简介
    SQLServer之删除存储过程
    geoserver 添加图层数据
    geoserver入门
  • 原文地址:https://www.cnblogs.com/kemaswill/p/2755826.html
Copyright © 2020-2023  润新知