Потому, что zip возвращает генератор, а генератор может быть использован только один раз. Соответственно, строка
value = sum( target_fn(x_i, y_i, theta) for x_i, y_i in data )
срабатывает, а цикл for x_i, y_i in in_random_order(data): уже нет. Если же использовать list, то в переменной data окажется не генератор, а данные, которые он генерирует.
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.