gpt4 book ai didi

python - 在cross_val_score中,参数cv的使用有何不同?

转载 作者:行者123 更新时间:2023-11-30 09:08:22 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何进行 k 折交叉验证。我希望有人能告诉我两个打印语句之间的区别。他们给我的数据大不相同,但我认为它们是相同的。

##train is my training data, 
##target is my target, my binary class.

dtc = DecisionTreeClassifier()
kf = KFold(n_splits=10)
print(cross_val_score(dtc, train, target, cv=kf, scoring='accuracy'))
print(cross_val_score(dtc, train, target, cv=10, scoring='accuracy'))

最佳答案

DecisionTreeClassifier源自ClassifierMixin ,正如文档中提到的(强调我的):

Computing cross-validated metrics

When the cv argument is an integer, cross_val_score uses the KFold or StratifiedKFold strategies by default, the latter being used if the estimator derives from ClassifierMixin.

因此,当您传递 cv=10 时,您正在使用 StratifiedKFold 策略,而当传递 cv=kf 时,您正在使用常规的KFold策略。

在分类中,分层通常会尝试确保每个测试折叠具有大致相等的类表示。请参阅Understanding stratified cross-validation有关更多信息,请参阅交叉验证。

关于python - 在cross_val_score中,参数cv的使用有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46514905/

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