gpt4 book ai didi

python - 分类模型的概率仅给出小数点后 1 位的概率

转载 作者:行者123 更新时间:2023-11-30 09:44:20 25 4
gpt4 key购买 nike

我正在对数据集运行基本分类。我的问题是有时 target_probabilities 只给出小数点后 1 位。这似乎是随机的,例如有时它们会保留几个小数位。请注意,这不仅仅发生在 Bagging 分类器上 - 它似乎发生在多个分类器上。

下面是带有输出的代码。

train = df[df['Season']<2018] 
test = df[df['Season'] == 2018]

X_train = train.drop([target,'Season','Team'],axis=1)
X_test = test.drop([target,'Season','Team'],axis=1)
Y_train = train[target]
Y_test = test[target]

model = BaggingClassifier()
model.fit(X_train, Y_train)
y_predicted = model.predict(X_test)

target_probabilities = model.predict_proba(X_test)[:,1]
target_probabilities = np.clip(target_probabilities, a_min=0.05,a_max=0.95)
print(target_probabilities)

enter image description here

最佳答案

您得到了 1 位小数,因为 BaggingClassifier 正在对内部所有估计器预测的结果进行平均。默认情况下,您的估计器是 DecisionTreen_estimators=10

因此,DT 的预测是二进制的(0 或 1),BC 总结它们并除以估计器的数量。这就是为什么你得到 1 位小数。

如果输入n_estimators=10000,您会得到更精确的数字。

Note that this doesn't just happen for the Bagging Classifier - it appears to occur for several Classifiers.

您测试了哪些分类器?对于 LogisticRegression,一切都按预期进行。

关于python - 分类模型的概率仅给出小数点后 1 位的概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54479817/

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