在下面的代码中,我尝试对20个新闻组数据集进行排序。但是出现了错误。令人疑惑的是这个数组的维度是(11314, 130107)。有谁知道这是为什么吗?
import numpy as npimport tensorflow as tffrom pprint import pprintfrom sklearn.datasets import fetch_20newsgroups_vectorizeddata_train= fetch_20newsgroups_vectorized(subset='train')temp= np.sort(data_train.data, axis=1)
回答:
正如fetch_20newsgroup_vectorized所描述的,它返回的是csr_matrix而不是np.matrix:
返回 bunch : Bunch对象 bunch.data: 稀疏矩阵,形状 [n_samples, n_features] bunch.target: 数组,形状 [n_samples] bunch.target_names: 列表,长度 [n_classes]
你需要使用todense将其转换为np.matrix:
np.sort(data_train.data.todense(), axis=1)