gpt4 book ai didi

python - XGBoost 产生预测结果和概率

转载 作者:行者123 更新时间:2023-12-04 13:15:17 35 4
gpt4 key购买 nike

我可能正在文档中查看它,但我想知道 XGBoost 是否有办法生成结果的预测和概率?就我而言,我正在尝试预测多类分类器。如果我能返回 Medium - 88%,那就太好了。

  • 分类器 = 中
  • 预测概率 = 88%

  • 参数
    params = {
    'max_depth': 3,
    'objective': 'multi:softmax', # error evaluation for multiclass training
    'num_class': 3,
    'n_gpus': 0
    }

    预言
    pred = model.predict(D_test)

    结果
    array([2., 2., 1., ..., 1., 2., 2.], dtype=float32)

    用户友好(标签编码器)
    pred_int = pred.astype(int)
    label_encoder.inverse_transform(pred_int[:5])
    array(['Medium', 'Medium', 'Low', 'Low', 'Medium'], dtype=object)

    编辑:
    @Reveille 建议 predict_proba。我没有实例化 XGBClassifer()。我可以做?如果是这样,我将如何修改我的管道以使用它?
    params = {
    'max_depth': 3,
    'objective': 'multi:softmax', # error evaluation for multiclass training
    'num_class': 3,
    'n_gpus': 0
    }

    steps = 20 # The number of training iterations

    model = xgb.train(params, D_train, steps)

    最佳答案

    你可以试试pred_p = model.predict_proba(D_test)
    我身边的一个例子(虽然不是多类(class)):

    import xgboost as xgb
    from sklearn.datasets import make_moons
    from sklearn.model_selection import train_test_split

    X, y = make_moons(noise=0.3, random_state=0)
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1)

    xgb_clf = xgb.XGBClassifier()
    xgb_clf = xgb_clf.fit(X_train, y_train)

    print(xgb_clf.predict(X_test))
    print(xgb_clf.predict_proba(X_test))


    [1 1 1 0 1 0 1 0 0 1]
    [[0.0394336 0.9605664 ]
    [0.03201818 0.9679818 ]
    [0.1275925 0.8724075 ]
    [0.94218 0.05782 ]
    [0.01464975 0.98535025]
    [0.966953 0.03304701]
    [0.01640552 0.9835945 ]
    [0.9297296 0.07027044]
    [0.9580196 0.0419804 ]
    [0.02849442 0.9715056 ]]

    请注意@scarpacci ( ref ) 的评论中提到的:

    predict_proba() method only exists for the scikit-learn interface

    关于python - XGBoost 产生预测结果和概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61082381/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com