【问题标题】:Acccesing individual tree estimators to predict values from gradient boosting classfiier estimators访问单个树估计器以预测来自梯度提升分类器估计器的值
【发布时间】:2018-11-29 07:43:10
【问题描述】:
gbm0 = GradientBoostingClassifier(n_estimators=500, random_state=42)
%time modelfit(gbm0, X_train, y_train)

##model fit is a fucntion i wrote to create a report on gbm classifier

preds = np.stack([t.predict(X_valid) for t in gbm0.estimators_])

报错

  ----> 1 preds = np.stack([t.predict(X_valid) for t in gbm0.estimators_])

 AttributeError: 'numpy.ndarray' object has no attribute 'predict'

如何访问单个树的预测方法来查看预测?

【问题讨论】:

    标签: python-3.x scikit-learn classification random-forest decision-tree


    【解决方案1】:

    数组estimators_ 的形状为(n_estimators, 1),用于二进制分类。所以你可以通过重塑来修复错误:

    preds = np.stack([t.predict(X_valid) for t in gbm0.estimators_.reshape(-1)])
    

    【讨论】:

    • 酷。这也行。 preds = np.stack([t[0].predict(X_valid) for t in gbm0.estimators_])
    猜你喜欢
    • 2019-09-05
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2020-02-04
    • 2018-05-31
    • 2019-06-27
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多