Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 分类模型给出的概率只有小数点后1位_Python_Pandas_Machine Learning_Scikit Learn_Probability - Fatal编程技术网

Python 分类模型给出的概率只有小数点后1位

Python 分类模型给出的概率只有小数点后1位,python,pandas,machine-learning,scikit-learn,probability,Python,Pandas,Machine Learning,Scikit Learn,Probability,我正在数据集上运行基本分类。我的问题是,有时目标概率只给小数点后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,'

我正在数据集上运行基本分类。我的问题是,有时目标概率只给小数点后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)

train=df[df['seasure']您得到了1个小数点,因为
BaggingClassifier
是对内部所有估计器的预测结果进行平均。默认情况下,您的估计器是
DecisionTree
s,
n\u估计器=10

因此,从DT得到的预测是二进制的(0或1),BC将它们汇总并除以估计数。这就是为什么得到1个十进制数

如果你把n_估计值设为10000,你会得到一个更精确的数字

请注意,这不仅仅发生在袋装分类器上——似乎发生在几个分类器上


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

我很难看出这是一个问题。它是否会影响您模型的分类性能?这是您真正使用的代码吗?返回的概率是否可能是n个分类器的投票结果?如果您有20个分类器总的1/20将产生0.05,19/20将产生0.95。