使用 sklearn bagging 分类器预测连续值

predict continuous values using sklearn bagging classifier

我可以使用 sklearn 的 BaggingClassifier 来生成连续预测吗?有类似的包吗?我的理解是装袋分类器用不同的模型预测几个分类,然后报告多数答案。似乎该算法可用于为每个分类生成概率函数,然后报告平均值。

trees = BaggingClassifier(ExtraTreesClassifier())
trees.fit(X_train,Y_train)
Y_pred = trees.predict(X_test)

如果您有兴趣在 classifier 中预测 classes 的概率,您可以使用 predict_proba 方法,它会为您提供每个 class。这是对您的代码的一行更改:

trees = BaggingClassifier(ExtraTreesClassifier())
trees.fit(X_train,Y_train)
Y_pred = trees.predict_proba(X_test)

Y_pred 的形状将是 [n_samples, n_classes]

如果您的 Y_train 值是连续的并且您想预测这些连续值(即,您正在处理回归问题),那么您可以改用 BaggingRegressor

我通常对连续值使用 BaggingRegressor(),然后将性能与 RMSE 进行比较。下面的示例:

from sklearn.ensemble import BaggingReressor
trees = BaggingRegressor()
trees.fit(X_train,Y_train)
scores_RMSE = math.sqrt(metrics.mean_squared_error(Y_test, trees.predict(X_test))