Прежде всего, спасибо заранее, я не знаю, должен ли я открыть проблему, поэтому я хотел проверить, не сталкивался ли кто-то с этим раньше.Ошибка с CalibratedClassifierCV при использовании трубопровода с TF-IDF?
Так у меня следующая проблема при использовании CalibratedClassifierCV для классификации текста. У меня есть оценщик, который является трубопровода создал этот путь (простой пример):
# Import libraries first
import numpy as np
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.pipeline import make_pipeline
from sklearn.calibration import CalibratedClassifierCV
from sklearn.linear_model import LogisticRegression
# Now create the estimators: pipeline -> calibratedclassifier(pipeline)
pipeline = make_pipeline(TfidfVectorizer(), LogisticRegression())
calibrated_pipeline = CalibratedClassifierCV(pipeline, cv=2)
Теперь мы можем создать простой поезд набор, чтобы проверить, если классификатор работ:
# Create text and labels arrays
text_array = np.array(['Why', 'is', 'this', 'happening'])
outputs = np.array([0,1,0,1])
Когда Я стараюсь, чтобы соответствовать объекту calibrated_pipeline, я получаю эту ошибку:
ValueError: Found input variables with inconsistent numbers of samples: [1, 4]
Если вы хотите, я могу полицейский y весь след исключения, но это должно быть легко воспроизводимым. Заранее большое спасибо!
EDIT: Я допустил ошибку при создании массивов. Исправлено (Спасибо @ogrisel!) Кроме того, вызов:
pipeline.fit(text_array, outputs)
работает правильно, но при этом с калиброванным классификатор не может!
Вы должны всегда сообщать о полной трассировке при сообщении об ошибке. Очень часто бывает, что ответ на ваш вопрос есть. – ogrisel