分类模型给出的概率只有1位小数p

2024-04-19 17:59:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在数据集上运行基本分类。我的问题是,有时目标概率只有1位小数。这似乎是随机的,例如有时它们被赋予几个小数位。请注意,这不仅仅发生在袋装分类器上,而且似乎发生在多个分类器上。你知道吗

下面是带有输出的代码。你知道吗

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


Tags: 数据testtargetdfmodel分类器分类train
1条回答
网友
1楼 · 发布于 2024-04-19 17:59:44

因为BaggingClassifier是所有估计器的预测结果的平均值。默认情况下,您的估计器是DecisionTrees,n_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.

你测试过哪些分类器?对于logisticsregression,一切都按预期进行。你知道吗

相关问题 更多 >