考虑输入文件是
25 27 29 25 27 29 25 27 29 25 27 29 25 27 28
我想提取模式 25 27 29. 我可以使用哪些算法来按这样的顺序挖掘模式?我愿意使用无监督学习技术来实现它。
考虑输入文件是
25 27 29 25 27 29 25 27 29 25 27 29 25 27 28
我想提取模式 25 27 29. 我可以使用哪些算法来按这样的顺序挖掘模式?我愿意使用无监督学习技术来实现它。
这个问题很难回答,因为模式和提取可能意味着不同的东西:
您是否pattern
包括数字之间的空格,或者只是数字列表本身?模式是准确的25 27 29
还是n n+2 n+4
extract
意思是找位置?将其从列表中删除?
因此,没有算法或技术,因为很难理解你愿意做什么。
以 Python 风格和非常通用的方式(您可以用整数替换a
,b
并c
让列表更长),您可以使用:
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)