Scikit有CalibratedClassifierCV,它允許我們在特定的X,Y對上校準我們的模型。它還明確指出:data for fitting the classifier and for calibrating it must be disjoint.
Scikit用CalibratedClassifierCV校準分類器的正確方法
如果它們必須是不相交的,用下面的方法訓練分類器是否合法?
model = CalibratedClassifierCV(my_classifier)
model.fit(X_train, y_train)
我擔心,通過使用相同的訓練集,我打破了disjoint data
規則。一種替代方案可能是驗證集
my_classifier.fit(X_train, y_train)
model = CalibratedClassifierCV(my_classifier, cv='prefit')
model.fit(X_valid, y_valid)
這有一個缺點,即留下的培訓數據較少。另外,如果CalibratedClassifierCV只適用於適合不同訓練集的模型,爲什麼它的默認選項是cv=3
,這也適合基本估計器?交叉驗證是否自行處理不相交規則?
問題:使用CalibratedClassifierCV的正確方法是什麼?