我的数据进行分组,并且我使用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对象。请告知是否有办法使它变小并且仍然可以腌制。)