0

考虑输入文件是

25 27 29 25 27 29 25 27 29 25 27 29 25 27 28 

我想提取模式 25 27 29. 我可以使用哪些算法来按这样的顺序挖掘模式?我愿意使用无监督学习技术来实现它。

4

1 回答 1

0

这个问题很难回答,因为模式和提取可能意味着不同的东西:

您是否pattern包括数字之间的空格,或者只是数字列表本身?模式是准确的25 27 29还是n n+2 n+4

extract意思是找位置?将其从列表中删除?

因此,没有算法或技术,因为很难理解你愿意做什么。

以 Python 风格和非常通用的方式(您可以用整数替换a,bc让列表更长),您可以使用:

list = [25, 27, 29, 25, 27, 29, 25, 27, 29, 25, 27, 29, 25, 27, 28]
ptn = [a, b, c]
position = []

for i, nb in enumerate(list):
    if i != len(list) - len(pattern);
         if nb == ptn[i] and list[i+1] == ptn[i+1] and list[i+2] == ptn[i+2]:
               position.append(i)
于 2016-06-10T16:07:11.493 回答