请用apriorisome算法根据以下提供的数据3-sequence 为<4,5,7>,<4,,5,6>,<4,6,7>,<5,6,7>,<4,6,8>对应的support为2,2,3,2,2.其中最小支持度为40%
时间: 2023-09-20 07:04:41 浏览: 120
好的,根据您提供的数据和最小支持度,我们可以按照以下步骤使用Apriori算法来找出频繁3-项集:
1. 找出所有的频繁1-项集,即每个单独的数字,他们的支持度分别为:
<4>: 5
<5>: 3
<6>: 4
<7>: 3
<8>: 1
2. 由于最小支持度是40%,因此只有支持度大于或等于2的项集才能成为频繁2-项集。我们可以从频繁1-项集中选出符合条件的项集:
<4,5>: 2
<4,6>: 3
<4,7>: 2
<5,6>: 2
<5,7>: 2
<6,7>: 3
3. 再次使用支持度计数,只有支持度大于或等于2的项集才能成为频繁3-项集:
<4,6,7>: 2
因此,<4,6,7>是唯一的频繁3-项集。
相关问题
18.请用AprioriAll算法如表A6-1所示的数据库例子中找出大序列,假定最小支持度为40%。 3-Sequence Support <4,5,7> 2 <4.5,6> <4,6,7> 3 <5,6,7> 2 < <4,6,8>
根据AprioriAll算法,我们需要先生成所有的频繁序列,再从中找出大序列。
首先,对于长度为1的序列,计算它们的支持度,得到如下频繁1-序列:
{4},支持度为5/6=83.33%
{5},支持度为4/6=66.67%
{6},支持度为5/6=83.33%
{7},支持度为4/6=66.67%
{8},支持度为2/6=33.33%
可以看出,{8}的支持度不足最小支持度40%,因此它不是频繁1-序列。
接下来,我们需要生成长度为2的候选序列,即{4,5}、{4,6}、{4,7}、{5,6}、{5,7}、{6,7}。
对于每个候选序列,统计其在数据库中的支持度,得到如下频繁2-序列:
{4,5},支持度为2/6=33.33%
{4,6},支持度为3/6=50%
{4,7},支持度为2/6=33.33%
{5,6},支持度为2/6=33.33%
{5,7},支持度为2/6=33.33%
{6,7},支持度为3/6=50%
可以看出,{4,5}、{4,7}、{5,6}、{5,7}的支持度不足最小支持度40%,因此它们不是频繁2-序列。
接下来,我们需要生成长度为3的候选序列,即{4,6,7}。
统计其在数据库中的支持度,得到频繁3-序列{4,6,7},支持度为3/6=50%。
因此,{4,6,7}是大序列,它是长度为3且支持度不低于最小支持度40%的频繁序列。
因此,答案为{4,6,7}。
18.请用AprioriAll算法如表A6-1所示的数据库例子中找出大序列,假定最小支持度为40%。 3-Sequence Support <4,5,7> 2 <4.5,6>2 <4,6,7> 3 <5,6,7> 2 < <4,6,8>2
根据AprioriAll算法,首先需要扫描整个数据库,找出所有的1-序列,并计算它们的支持度。
1-序列 支持度
4 5
5 3
6 6
7 5
8 2
根据最小支持度为40%,可以剪枝得到频繁1-序列:
1-序列 支持度
4 5
6 6
7 5
接下来,根据频繁1-序列,生成2-序列,并计算它们的支持度。
2-序列 支持度
<4,5> 2
<4,6> 3
<4,7> 2
<5,6> 2
<5,7> 1
<6,7> 3
<6,8> 1
剪枝得到频繁2-序列:
2-序列 支持度
<4,6> 3
<6,7> 3
接下来,根据频繁2-序列,生成3-序列,并计算它们的支持度。
3-序列 支持度
<4,6,7> 3
因为只有一个频繁3-序列,所以它就是我们要找的大序列。
阅读全文