Распознавание образов в цифрах?
Считайте, что входной файл будет
25 27 29 25 27 29 25 27 29 25 27 29 25 27 28
Я хочу извлечь шаблон 25 27 29. Какие алгоритмы я могу использовать для анализа шаблона в такой последовательности? Я готов реализовать это, используя неконтролируемые методы обучения.
1 ответ
На этот вопрос трудно ответить, так как шаблон и извлечение могут означать разные вещи:
Твой 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)