【问题标题】:predict continuous values using sklearn bagging classifier使用 sklearn bagging 分类器预测连续值
【发布时间】:2016-03-15 12:03:19
【问题描述】:

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

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

【问题讨论】:

  • 我没有看到装袋 ExtraTreesClassifier 的意义。它已经使用 bagging。增加数字n_estimators 应该具有完全相同的效果。你能启发我吗?
  • @maxnoe 我认为你是对的。 knn 分类器会更真实。

标签: python scikit-learn classification bag


【解决方案1】:

如果您对预测分类器中类的概率感兴趣,可以使用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

【讨论】:

  • 很酷,谢谢。'predict_proba' 确实是我想要的。这是一个分类问题。
【解决方案2】:

我通常将 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))

【讨论】:

    猜你喜欢
    • 2021-03-23
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多