Я не эксперт по Ruby, но я думаю, что в Python это будет примерно так:
def test_weights(weights, domain, num_inputs):
correct = 0
for pattern in domain:
output = get_output(weights, pattern[:num_inputs])
if round(output) == pattern[-1]:
correct += 1
return correct
Существует множество возможностей для оптимизации: если num_inputs
всегда на единицу меньше, тодлина списков в domain
, тогда вам может вообще не понадобиться этот параметр.
Будьте осторожны при построчном переводе с одного языка на другой: это не дает хороших результатов независимо от того, на каких языкахучаствуют.
Редактировать: , так как вы сказали, что не думаете, что вам нужно конвертировать в плавающее число, вы можете просто вырезать необходимое количество элементов из значения домена.Я обновил свой код соответственно.