K-means

K-means算法是硬聚类算法,是典型的局域原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最有分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。

Apriori算法

  Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
 
该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递归的方法。
 (1) L1 = find_frequent_1-itemsets(D);
(2) for (k=2;Lk-1 ≠Φ ;k++) {   
(3) Ck = apriori_gen(Lk-1 ,min_sup);   
(4) for each transaction t ∈ D {//scan D for counts  
 (5) Ct = subset(Ck,t);//get the subsets of t that are candidates  
 (6) for each candidate c ∈ Ct   
(7) c.count++;  
 (8) }   
(9) Lk ={c ∈ Ck|c.count≥min_sup}   
(10) }   
(11) return L= ∪ k Lk;
  可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。