gpt4 book ai didi

python - BaggingClassifier 在不同的执行中给出相同的结果

转载 作者:行者123 更新时间:2023-12-01 02:52:49 25 4
gpt4 key购买 nike

我正在测试一个简单的模型 (knn) 并尝试将结果与 Ensamble 进行比较。

from sklearn.model_selection import cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import BaggingClassifier
from sklearn.datasets import load_iris
data = load_iris()
y = data.target
X = data.data
knn = KNeighborsClassifier()
bagging = BaggingClassifier(knn, max_samples=0.5, max_features=0.5)

print "KNN Score:\t", cross_val_score(knn, X, y, cv=5, n_jobs=-1).mean()
print "Bagging Score:\t", cross_val_score(bagging, X, y, cv=5, n_jobs=-1).mean()

但是每次我运行它时,代码都会得到相同的错误估计......每次都不应该不同吗?

最佳答案

您的代码中计算了两个分数。第一个,

print "KNN Score:\t", cross_val_score(knn, X, y, cv=5, n_jobs=-1).mean()

将始终返回相同的值。原因是这个过程中没有任何随机性。数据一模一样,分割成5折也是一模一样(如here所示,数据被分割成连续5折)。

但是,在计算以下分数时:

print "Bagging Score:\t", cross_val_score(bagging, X, y, cv=5, n_jobs=-1).mean()

这个过程存在随机性。例如,从 max_samples=0.5 开始,您随机抽取一半样本来训练每个基本估计器。因此,每次运行代码时,您可能会得到不同的结果。

关于python - BaggingClassifier 在不同的执行中给出相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44551673/

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