将GroupKFold与CalibratedClassifierCV一起使用

时间:2019-01-11 01:54:47

标签: python scikit-learn cross-validation

我的数据进行分组,并且我使用GroupKFold划分了训练集和测试集。问题是,鉴于此,我是否仍需要对GroupKFold中的训练校准拆分进行CalibratedClassifierCV拆分?

如果是,最好的方法是什么?主要问题是我不知道如何传递组变量,因为fit的{​​{1}}方法没有像CalibratedClassifierCV这样的group参数。基本上,如果我这样做

GridSearchCV

我将收到一条错误消息,指出组不能为group_kfold = GroupKFold(n_splits=3) cls = CalibratedClassifierCV(base_estimator=model, cv=group_kfold) cls.fit(X_train, y_train) 。以下内容也不起作用:

None

请告知我如何传递组变量。

(我确实找到了次优方法,如下

cls.fit(X_train, y_train, groups=group_variable)

必须传递列表,而不是ip_split = group_kfold.split(X_train, y_train, group_variable) cls = CalibratedClassifierCV(base_estimator=model, cv=list(ip_split) cls.fit(X_train, y_train) 参数的生成器,因为我需要在拟合后将cv腌制。但这会产生太大的cls对象。请告知是否有办法使它变小并且仍然可以腌制。)

0 个答案:

没有答案