Scipy稀疏矩阵维度问题
Posted
技术标签:
【中文标题】Scipy稀疏矩阵维度问题【英文标题】:Scipy sparse matrix dimension issue 【发布时间】:2020-10-16 14:40:30 【问题描述】:我正在使用 KNeighborsRegressor 开发一个简单的 MultiOutputRegressor 模型。我的 X_train、X_test、y_train、y_test 是 Scipy 稀疏矩阵数据类型。我有 1185 个特征和 46 个目标要预测。
from sklearn.multioutput import MultiOutputRegressor
from sklearn.neighbors import KNeighborsRegressor
kreg = MultiOutputRegressor(KNeighborsRegressor())
# fit model
kreg.fit(X_train, y_train)
>>> MultiOutputRegressor(estimator=KNeighborsRegressor())
kreg.predict(X_test)
kreg.predict(X_test)
之后我收到一条错误消息,最后一条说是
~/opt/anaconda3/envs/data3/lib/python3.8/site-packages/scipy/sparse/_index.py in >getitem(self, key) 62 返回 self._get_arrayXint(row, col) 63 elif isinstance(col, slice): ---> 64 raise IndexError('index results in >2 dimensions') 65 elif row.shape[1] == 1 和 col.ndim == 1: 66 # 外部索引的特殊情况
IndexError:索引结果 >2 维
我哪里做错了? 谢谢。
【问题讨论】:
【参考方案1】:原来我不应该有我的标签,即稀疏矩阵数据类型中的 y_train 和 y_test。一旦我将它们保存为 Numpy 数组,代码就可以工作了。
【讨论】:
以上是关于Scipy稀疏矩阵维度问题的主要内容,如果未能解决你的问题,请参考以下文章