Мне нужно, чтобы SGD действовал как пакетный градиентный спуск, и это должно быть сделано (я думаю), заставив его изменить модель в конце эпохи.
Вы не можете сделай это; из документации ясно, что:
градиент потерь оценивается для каждой выборки за раз, и модель обновляется по пути
И хотя в документах SGDClassifier
упоминается, что
SGD допускает мини-пакетное (онлайн / внешнее) обучение
который, вероятно, также подходит для SGDRegressor
, что на самом деле означает, что вы можете использовать метод partial_fit
для предоставления данных в разных пакетах; однако вычисления (и обновления) всегда выполняются для каждого сэмпла.
Если вам действительно нужно выполнить линейную регрессию с GD, вы можете легко это сделать в Keras или Tensorflow, собрав модель LR и используя пакет размер равен всем вашим тренировочным образцам.