传递了稀疏矩阵,但需要密集数据。使用 X.toarray() 转换为密集的 numpy 数组

新手上路,请多包涵

代码如下,我正在尝试使用 GBRT 回归树的训练数据,相同的数据适用于其他分类器,但对 GBRT 给出上述错误。请帮忙 :

 dataset = load_files('train')
vectorizer = TfidfVectorizer(encoding='latin1')
X_train = vectorizer.fit_transform((open(f).read() for f in dataset.filenames))
assert sp.issparse(X_train)
print("n_samples: %d, n_features: %d" % X_train.shape)
y_train = dataset.target
def benchmark(clf_class, params, name):
    clf = clf_class(**params).fit(X_train, y_train)

原文由 Dhananjay Ambekar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 494
1 个回答

我在尝试使用 --- 加载的数据训练 GradientBoostingClassifier load_svmlight_files 遇到了同样的问题。通过将稀疏矩阵转换为 numpy 数组来解决。

 X_train.todense()

原文由 Peiqin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题