使用 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))
我可以使用 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))