使用 XGBoost 根据输入预测重要性或百分比
Using XGBoost to predict importance or percentage based on inputs
我正在努力解释我的 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)
如果你想得到结果概率(每个元素的百分比得分),使用predict_proba
而不是predict
。
我正在努力解释我的 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)
如果你想得到结果概率(每个元素的百分比得分),使用predict_proba
而不是predict
。