python - 错误:“ValueError:在密集数据训练的‘SVR’中不能使用稀疏输入”?
问题描述
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
这给出了形状为 (97, 370) 的类 'numpy.ndarray'
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 个压缩稀疏行格式的存储元素>
clf.predict(test_vectors)
这给出了错误“ValueError:不能在'SVR'中使用稀疏输入训练密集数据”
这里有什么问题?我该如何解决?谢谢!
解决方案
您应该.toarray()
像对火车数据所做的那样调用:
test_vectors = vectorizer.transform(X_test).toarray()
推荐阅读
- java - 如何在 char 数组中存储零而不是存储 null [JAVA]
- tensorflow - 有时会收到错误“err == cudaSuccess || err == cudaErrorInvalidValue Unexpected CUDA error: out of memory”
- python - Django 3.0 Not Found: /favicon.ico and failing to store uploaded image into disk
- nginx - Minikube Ingress 无法解析,但 minikube IP 可以
- laravel-5 - 在 Laravel 中通过电子邮件发送图像
- ionic4 - 我在 ionic 5 中打开操作表时遇到问题
- c# - 无法运行(或托管)从 .NET Core 2.1 迁移到 .NET Core 3.0 的应用程序。并更改端口
- c# - C# MSChart 轴高度
- f# - F# Api crawler using recursion or loop
- html - 页脚下的绝对 div