Мне трудно понять, как исправить созданный мной конвейер (читайте: в основном вставляемый из учебника). Это python 3.4.2:
df = pd.DataFrame
df = DataFrame.from_records(train)
test = [blah1, blah2, blah3]
pipeline = Pipeline([('vectorizer', CountVectorizer()), ('classifier', RandomForestClassifier())])
pipeline.fit(numpy.asarray(df[0]), numpy.asarray(df[1]))
predicted = pipeline.predict(test)
Когда я запустил его, я получаю:
TypeError: A sparse matrix was passed, but dense data is required. Use X.toarray() to convert to a dense numpy array.
Это для строки pipeline.fit(numpy.asarray(df[0]), numpy.asarray(df[1]))
.
Я много экспериментировал с решениями с помощью numpy, scipy и т.д., но я до сих пор не знаю, как это исправить. И да, подобные вопросы возникли раньше, но не внутри конвейера.
Где я должен применить toarray
или todense
?