我正致力于解释我的XGBoost模型。例如,下面的两个数据集trainInput
和trainOutput
分别为:
df.trainInputs
input1 input2 input3
0 1 0 0
1 1 1 0
2 0 1 1
..
df.trainOutputs
output
0 1
1 0
2 1
...
用户输入已经过热编码,输出数据是用户输出模式列表。我正在使用这些模型训练我的XGBoost模型,然后根据来自另一个数据集的单热编码用户输入数据的另一个矩阵进行预测。我希望检索列的每个元素的百分比分数,但在运行我的模型时,我只接收二进制输出。在构建我的模型时是否有一些我缺少的东西?相关代码:
df.predictInputs
input1 input2 input3
0 1 1 0
1 1 0 0
2 1 0 1
..
model = xgb.XGBClassifier()
model.fit(trainInputs, trainOutput)
y_pred = model.predict(predictOutput)
答案 0 :(得分:3)
如果您想获得结果概率(每个元素的百分比分数),请使用predict_proba
代替predict
。