Плюс или минус массив по массиву и сохранение в словаре - PullRequest
0 голосов
/ 18 ноября 2018

Я провел тонну предварительной обработки и математики этих данных, чтобы получить два одинаковых по размеру массива 3xN. А и Б.

A = целые числа, которые были классифицированы как метки для предсказания B. B = данные временного ряда.

У меня также есть C, который просто B [1:]

A и B равны на соответствующих временных шагах, и я не могу придумать лучшего способа составить список следующего временного шага B, поэтому у меня есть A [0: -1], B [0: -1] и С [1:])

Я знаю, что A + или - B всегда == как минимум к 1 целому числу в C.

Пример:

если A = [2,3,4] и B = [5,2,1], я знаю, что по крайней мере 1 из C будет 7,8,1,3 или любой другой комбинацией этих чисел + или - друг друга.

Как я могу сделать простую функцию для выполнения этой операции и проверить, является ли она == для C, а затем сохранить ее как ключ в словаре? Цель состоит в том, чтобы создать нейронную сеть после завершения оценки новых данных.

1 Ответ

0 голосов
/ 18 ноября 2018

Просто для примера, если я понимаю, что вы ищете:

a = [2,3,4]
b = [5,2,1]
c = set(b[1:])

sums = set([ aa + bb for aa in a for bb in b ])
subs1 = [ (aa - bb) for aa in a for bb in b if (aa - bb) > 0]
subs2 = [ bb - aa for bb in b for aa in a if (bb - aa) > 0]
subs = set(subs1 + subs2)

print(sums)
print(subs)
print(c)

print(len(sums & c)) #=> 0 c does not contains any of sums
print(len(subs & c)) #=> 2 c contains two of subs
...