我正在对数据集进行基本分类。我的问题是,有时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)
答案 0 :(得分:1)
您得到1位小数,因为BaggingClassifier
是内部所有估算器的预测的平均结果。默认情况下,您的估算值为DecisionTree
,n_estimators=10
。
因此,您对DT的预测是二进制的(0或1),BC对其进行汇总并除以估计数。这就是为什么您得到1个小数的原因。
如果您输入n_estimators=10000
,则会得到一个更精确的数字。
请注意,这不仅发生在装袋分类器中-似乎发生在多个分类器中。
您测试了哪些分类器?对于LogisticRegression,一切正常。