PerceptronSGDClassifier(loss="perceptron", penalty=None, learning_rate="constant", eta0=1)
1N∑i=1Nmax(0,−yiwTxi).
yi∈{−1,1}wTxi
A regressão de mínimos quadrados, por outro lado, usa
Aqui pode ser real; você pode atribuir a ele metas de classificação em se desejar, mas isso não lhe dará um modelo muito bom. Você pode otimizar isso com, se quiser.
1N∑i=1N(yi−wTxi)2.
yi{−1,1}SGDRegressor(loss="squared_loss", penalty=None)
Os dois definem modelos fundamentalmente diferentes: o perceptron prevê um rótulo de classe binária com , enquanto a regressão linear prediz um valor real com . Esta resposta fala um pouco sobre por que tentar resolver um problema de classificação com um algoritmo de regressão pode ser problemático.w T x isign(wTxi)wTxi
Perceptronclasse à qual você vincula é para um classificador (saída binária) em vez de um regressor (saída contínua). Esse é o código real que você usou? Se assim for, essa é a diferença. :)