Я пытаюсь обучить свой двоичный классификатор огромным данным. Раньше я мог выполнять тренировку, используя подходящий метод sklearn. Но теперь у меня есть больше данных, и я не могу справиться с ними. Я пытаюсь подгонять их частично, но не могу избавиться от ошибок. Как я могу тренировать свои огромные данные постепенно? Применяя мой предыдущий подход, я получаю ошибку об объекте конвейера. Я просмотрел примеры из Incremental Learning , но все еще выполнение этих примеров кода дает ошибку. Я буду признателен за любую помощь.
X,y = transform_to_dataset(training_data)
clf = Pipeline([
('vectorizer', DictVectorizer()),
('classifier', LogisticRegression())])
length=len(X)/2
clf.partial_fit(X[:length],y[:length],classes=np.array([0,1]))
clf.partial_fit(X[length:],y[length:],classes=np.array([0,1]))
ERROR
AttributeError: 'Pipeline' object has no attribute 'partial_fit'
ПРОБНЫЕ ОБРАЗЦЫ ДАННЫХ КОДОВ:
clf=SGDClassifier(alpha=.0001, loss='log', penalty='l2', n_jobs=-1,
#shuffle=True, n_iter=10,
verbose=1)
length=len(X)/2
clf.partial_fit(X[:length],y[:length],classes=np.array([0,1]))
clf.partial_fit(X[length:],y[length:],classes=np.array([0,1]))
ERROR
File "/home/kntgu/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.py", line 573, in check_X_y
ensure_min_features, warn_on_dtype, estimator)
File "/home/kntgu/anaconda2/lib/python2.7/site-packages/sklearn/utils/validation.py", line 433, in check_array
array = np.array(array, dtype=dtype, order=order, copy=copy)
TypeError: float() argument must be a string or a number
Мой набор данных состоит из нескольких предложений с их частью речевых тегов и отношений зависимости.
Thanks NN 0 root
to IN 3 case
all DT 1 nmod
who WP 5 nsubj
volunteered VBD 3 acl:relcl
. . 1 punct
You PRP 3 nsubj
will MD 3 aux
remain VB 0 root
as IN 5 case
alternates NNS 3 obl
. . 3 punct