0

考虑输入文件是数字模式识别?

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

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

回答

0

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

是您pattern包括数字之间的空间,或者仅仅是自己数的名单?模式是否正确25 27 29n n+2 n+4

请问extract是否意味着找到位置?从列表中删除它?

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

在Python的风格和在一个非常普遍的方式(可更换abc与整数和榜上无名更长),你可以去:

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)