Что я здесь делаю неправильно? У меня есть большой набор данных, который я хочу, чтобы выполнить частичное прилегание на использовании Scikit учиться-х SGDClassifierSKlearn SGD Partial Fit
я делаю следующее
from sklearn.linear_model import SGDClassifier
import pandas as pd
chunksize = 5
clf2 = SGDClassifier(loss='log', penalty="l2")
for train_df in pd.read_csv("train.csv", chunksize=chunksize, iterator=True):
X = train_df[features_columns]
Y = train_df["clicked"]
clf2.partial_fit(X, Y)
Я получаю ошибку
Traceback (most recent call last): File "/predict.py", line 48, in sys.exit(0 if main() else 1) File "/predict.py", line 44, in main predict() File "/predict.py", line 38, in predict clf2.partial_fit(X, Y) File "/Users/anaconda/lib/python3.5/site-packages/sklearn/linear_model/stochastic_gradient.py", line 512, in partial_fit coef_init=None, intercept_init=None) File "/Users/anaconda/lib/python3.5/site-packages/sklearn/linear_model/stochastic_gradient.py", line 349, in _partial_fit _check_partial_fit_first_call(self, classes) File "/Users/anaconda/lib/python3.5/site-packages/sklearn/utils/multiclass.py", line 297, in _check_partial_fit_first_call raise ValueError("classes must be passed on the first call " ValueError: classes must be passed on the first call to partial_fit.
«Классы по всем вызовам partial_fit. Может быть получен через np.unique (y_all), где y_all является целевым вектором всего набора данных. Этот аргумент требуется для первого вызова partial_fit и может быть опущен в последующие вызовы. Обратите внимание, что y не обязательно должно содержать все метки в классах ». http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier.partial_fit –
@JackManey Пожалуйста, разместите свой комментарий в качестве ответа, чтобы он мог принять и/или закрыть вопрос. –