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

2024-10-05 14:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

代码如下所示,我试图使用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)

Tags: 数据代码分类器错误loadtrainfilesparams
2条回答

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

X_train.todense()

因为sklearn中的GBRT请求X(训练数据)是array-like而不是sparse matrixsklearn-gbrt

我希望这能帮助你!

相关问题 更多 >