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

时间:2015-12-10 01:00:14

标签: python scikit-learn classification bag

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

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

2 个答案:

答案 0 :(得分:3)

如果您对预测分类器中类的概率感兴趣,可以使用predict_proba方法,该方法为您提供每个类的概率。这是对您的代码的一行更改:

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

答案 1 :(得分:1)

我通常将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))
相关问题