Вы не тренируете его для 5400 итераций, но возможно для ~ 1M; это не способ сделать это.
Проверяя документы , вы увидите, что MLPClassifier
уже имеет параметр max_iter
со значением по умолчанию 200 (которое является значением используется в вашем случае, поскольку вы не указываете ничего другого):
max_iter: int, по умолчанию = 200
Максимум количество итераций. Решатель выполняет итерации до сходимости (определяется по 'tol') или до этого числа итераций. Для стохастических c решателей ('sgd', 'adam') обратите внимание, что это определяет количество эпох (сколько раз будет использоваться каждая точка данных), а не количество шагов градиента.
Итак, если каждая из ваших 5400 итераций исчерпывает 200 max_iter
, вы фактически делаете 5400x200 ~ = 1 000 000 итераций (эпох).
Не ясно, почему вы решили использовать for
l oop с partial_fit
; Вы можете либо набрать go для полного fit
с max_iter=5400
и без l oop, либо остаться с вашим существующим l oop + partial_fit
и изменить определение вашего MLPClassifier
на max_iter=1
.
В том, что вы показали, я не вижу никакой причины для подхода oop; было бы оправданно, если бы ваши данные не могли поместиться в память, и вы использовали их для подачи различных фрагментов данных за одну итерацию, но, как и раньше, это не имеет никакого смысла.