分类模型中的概率仅使概率小数点后1位

时间:2019-02-01 12:45:01

标签: python pandas machine-learning scikit-learn probability

我正在对数据集进行基本分类。我的问题是,有时target_probabilities仅赋予小数点后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

1 个答案:

答案 0 :(得分:1)

您得到1位小数,因为BaggingClassifier是内部所有估算器的预测的平均结果。默认情况下,您的估算值为DecisionTreen_estimators=10

因此,您对DT的预测是二进制的(0或1),BC对其进行汇总并除以估计数。这就是为什么您得到1个小数的原因。

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

  

请注意,这不仅发生在装袋分类器中-似乎发生在多个分类器中。

您测试了哪些分类器?对于LogisticRegression,一切正常。