簡體   English   中英

在cross_val_score 中,參數cv 的使用方式有何不同?

[英]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使用KFoldStratifiedKFold策略,如果估算器來自ClassifierMixin則使用后者

所以在這里,當您傳遞cv=10您使用的是StratifiedKFold策略,而傳遞cv=kf您使用的是常規KFold策略。

在分類中,分層通常試圖確保每個測試折疊具有大致相等的類表示。 有關更多信息,請參閱了解交叉驗證上的分層交叉驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM