Ошибка Python при установке элемента массива с последовательностью

Я пытаюсь изучить другой классификатор для этого примера на сайте scikit-learn http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html. Однако приведенный ниже код выдает ошибку: ValueError: установка элемента массива с последовательностью.

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
import tensorflow.contrib.learn as skflow

data = ["I so handsome. I just broke the mirror!","I am a normal guy."]
label = np.array([0,1])

#CountVectoriser
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(data)

#TfidfTransformer
tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)

#Classifier
clf = skflow.TensorFlowLinearClassifier(n_classes=2)
clf.fit(X_train_tfidf, label)

1 ответ

Решение

TensorFlowLinearClassifier не обрабатывает матрицу CSR в качестве входных данных, вы можете следить за прогрессом в этом вопросе.


Что вы можете сделать сейчас, это конвертировать X_train_tfidf к матовой матрице, прежде чем кормить его clf.fit():

clf.fit(X_train_tfidf.toarray(), label)
Другие вопросы по тегам