【发布时间】:2026-01-04 11:20:05
【问题描述】:
代码如下,我正在尝试将训练数据用于 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)
【问题讨论】:
-
如果您使用
GradientBoostingRegressor,它不接受稀疏矩阵作为输入。 -
我使用 arX = np.array(X_train) 转换。但现在错误显示“元组索引超出范围”
-
按照错误中的说明进行操作。
Use X.toarray() to convert to a dense numpy array。所以X_train.toarray() -
'numpy.ndarray'(X_train 的类型)对象没有属性'toarray'
标签: python scikit-learn