首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BaggingClassifier在不同的执行中产生相同的结果

BaggingClassifier在不同的执行中产生相同的结果
EN

Stack Overflow用户
提问于 2017-06-15 02:01:33
回答 1查看 823关注 0票数 1

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

代码语言:javascript
复制
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()

但每次我运行它的代码,我得到相同的误差估计…不应该每次都不一样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-19 22:24:08

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

代码语言:javascript
复制
print "KNN Score:\t", cross_val_score(knn, X, y, cv=5, n_jobs=-1).mean()

将始终返回相同的值。原因是在这个过程中没有任何随机性。数据完全相同,分成5个文件夹的情况也完全相同(如here所示,数据被分成5个连续的文件夹)。

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

代码语言:javascript
复制
print "Bagging Score:\t", cross_val_score(bagging, X, y, cv=5, n_jobs=-1).mean()

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44551673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档