[英]In cross_val_score, how is the parameter cv being used differently?
我想弄清楚如何進行 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
,如文檔中所述(強調我的):
當
cv
參數為整數時,cross_val_score
使用KFold
或StratifiedKFold
策略,如果估算器來自ClassifierMixin
則使用后者。
所以在這里,當您傳遞cv=10
您使用的是StratifiedKFold
策略,而傳遞cv=kf
您使用的是常規KFold
策略。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.