📜  数据挖掘中的广义序列模式(GSP)挖掘

📅  最后修改于: 2022-05-13 01:56:14.674000             🧑  作者: Mango

数据挖掘中的广义序列模式(GSP)挖掘

GSP是数据挖掘中非常重要的算法。它用于从大型数据库中进行序列挖掘。几乎所有的序列挖掘算法基本上都是基于先验算法。 GSP 使用逐级范式来查找数据中的所有序列模式。它首先找到大小为 1 的频繁项,然后将其作为输入传递给 GSP 算法的下一次迭代。数据库多次传递给该算法。在每次迭代中,GSP 删除所有不频繁项集。这是基于称为支持的阈值频率完成的。只有那些频率大于支持计数的项目集才会被保留。在第一遍之后,GSP 找到所有长度为 1 的频繁序列,称为 1-sequences。这使得输入到下一次通过,它是 2-sequences 的候选者。在这一遍结束时,GSP 生成所有频繁的 2 序列,这为候选 3 序列提供输入。递归调用该算法,直到找不到更多的频繁项集。

顺序模式(GSP)挖掘基础:

  • 序列:序列被正式定义为项目 {s1, s2, s3, ..., sn} 的有序集合。顾名思义,它是一起发生的项目序列。它可以被视为一个交易或一起购买的物品在一个篮子里。
  • 子序列序列的子集称为子序列。假设 {a, b, g, q, y, e, c} 是一个序列。它的子序列可以是 {a, b, c} 或 {y, e}。注意子序列不一定是序列的连续项。从数据库的序列中,找到子序列,最后从中找到广义序列模式。
  • 序列模式:当一个子序列出现在多个序列中时,称为模式。 GSP 算法的目标是从大型数据库中挖掘序列模式。数据库由序列组成。当子序列的频率大于“支持”值时。例如:模式 是从序列 {b, x, c, a}、{a, b, q} 和 {a, u, b} 中挖掘出来的序列模式。

顺序模式挖掘的方法:

  • 基于 Apriori 的方法
    • 普惠制
  • 基于模式增长的方法
    • 自由跨度
    • 前缀跨度

序列数据库:由有序元素或事件组成的数据库称为序列数据库。序列数据库示例:

S.No.SIDsequences
1.100 or
2.200<(ad)c(bcd)(abe)>
3.300<(ef)(ab)(def)cb>
4.400

交易:该序列由许多称为交易的元素组成。

k长度序列:

序列中涉及的项目数用 K 表示。由 2 个项目组成的序列称为 2-len 序列。在寻找 2-length 候选序列时,该术语开始使用。 2 长度序列的示例是:{ab}、{(ab)}、{bc} 和 {(bc)}。

  • {bc} 表示一个长度为 2 的序列,其中 b 和 c 是两个不同的事务。这也可以写成 {(b)(c)}
  • {(bc)} 表示一个长度为 2 的序列,其中 b 和 c 是属于同一事务的项目,因此用相同的括号括起来。这也可以写成 {(cb)},因为同一个事务中的项目顺序无关紧要。

支持 k 长度序列:

支持意味着频率。给定 k 长度序列在序列数据库中出现的次数称为支持度。在寻找支持的同时,订单得到了照顾。

如何加入L1和L1给C2?

L1 是剪枝后的最后一个长度为 1 的序列。修剪后留在集合中的所有条目都支持大于阈值。

修剪阶段:在构建 Ck(k 长度的候选集)时,我们删除具有连续 (k-1) 子序列的候选序列,其支持计数小于最小支持(阈值)。此外,删除具有任何子序列且没有最小支持的候选序列。

{abg} 是 C3 的候选序列。

广义序列模式数据挖掘的挑战

数据库以递归方式多次传递给算法。计算工作更多的是挖掘频繁模式。当序列数据库非常大并且要挖掘的模式很长时,GSP 会遇到问题。