尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

交叉验证进阶:分组/时间序列/嵌套 CV

发布时间:2026/9/5 7:46:54

资讯中心
01
ARTICLE

交叉验证进阶:分组/时间序列/嵌套 CV

交叉验证进阶:分组/时间序列/嵌套 CV
交叉验证进阶分组/时间序列/嵌套 CV1. 分组交叉验证fromsklearn.model_selectionimportGroupKFold# 按用户分组groupsdata[user_id]gkfGroupKFold(n_splits5)fortrain_idx,test_idxingkf.split(X,y,groups):X_train,X_testX[train_idx],X[test_idx]y_train,y_testy[train_idx],y[test_idx]2. 时间序列交叉验证fromsklearn.model_selectionimportTimeSeriesSplit tscvTimeSeriesSplit(n_splits5)fortrain_idx,test_idxintscv.split(X):X_train,X_testX[train_idx],X[test_idx]y_train,y_testy[train_idx],y[test_idx]3. 嵌套交叉验证fromsklearn.model_selectionimportGridSearchCV,cross_val_score# 内层超参调优inner_cvTimeSeriesSplit(n_splits3)param_grid{n_estimators:[50,100,200],max_depth:[3,5,7]}gridGridSearchCV(model,param_grid,cvinner_cv,scoringaccuracy)# 外层评估泛化能力outer_cvTimeSeriesSplit(n_splits5)scorescross_val_score(grid,X,y,cvouter_cv,scoringaccuracy)print(f嵌套 CV 准确率:{scores.mean():.4f}/-{scores.std():.4f})4. 自定义 CV 策略fromsklearn.model_selectionimportBaseCrossValidatorclassCustomCV(BaseCrossValidator):def__init__(self,n_splits5,gap10):self.n_splitsn_splits self.gapgapdefsplit(self,X,yNone,groupsNone):nlen(X)fold_sizen//self.n_splitsforiinrange(self.n_splits):test_starti*fold_size test_endtest_startfold_size train_endtest_start-self.gap train_idxlist(range(0,train_end))test_idxlist(range(test_start,test_end))yieldtrain_idx,test_idxdefget_n_splits(self,XNone,yNone,groupsNone):returnself.n_splits总结CV 方法适用场景特点K-Fold通用最基础Stratified K-Fold分类保持类别比例Group K-Fold有分组防止数据泄露Time Series Split时间序列严格时序嵌套 CV调参评估无偏估计
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。