Ошибка: «ValueError: нельзя использовать разреженный ввод в SVR, обученном для плотных данных»? - PullRequest
0 голосов
/ 19 января 2020
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
vector = vectorizer.fit_transform(X_train).toarray()
print(vector.shape)
print(type(vector))
print(vector)    
vector

Это дает класс 'numpy .ndarray' с формой (97, 370)

from sklearn.svm import SVR
from sklearn.model_selection import cross_val_score
clf = SVR(gamma='auto',cache_size=12000,max_iter=-1)
print("Training the data set...")
clf = clf.fit(vector, y_train)
print("Training Completed")
test_vectors = vectorizer.transform(X_test)
test_vectors

Это дает <108x370 разреженной матрицы типа '' с 1212 сохраненными элементами в Compressed Sparse Row format>

clf.predict(test_vectors)

Это выдает ошибку «ValueError: невозможно использовать разреженный ввод в« SVR », обученном для плотных данных»

В чем здесь проблема? Как я могу это исправить? Спасибо!

1 Ответ

0 голосов
/ 19 января 2020

Вы должны позвонить .toarray(), как вы сделали для данных поезда:

test_vectors = vectorizer.transform(X_test).toarray()

...