我正在尝试使用10倍交叉验证在auto-sklearn中构建预测模型。我的数据集有大约40k行和80个特征。这是我的代码(其中X是我的特征,y是连续的结果变量):
automl = autosklearn.regression.AutoSklearnRegressor(
time_left_for_this_task=3600, per_run_time_limit=600,
resampling_strategy='cv',
resampling_strategy_arguments={'folds': 10})
automl.fit(X, y, dataset_name='unused', feat_type=feature_types)
automl.refit(X.copy(), y.copy())
automl.cv_results_
最后一行的输出对我来说有点混乱
{'mean_fit_time': array([6.00111840e+02, 1.76325102e+01, 1.68442428e+01,
1.68408656e+00,
9.08970833e-01, 1.73636928e+01, 5.83850384e-01, 8.99704933e-01,
1.77676334e+01, 8.56771708e-01, 1.58957437e+02, 6.00050516e+02,
6.00073232e+02, 1.72906122e+01, 6.00116965e+02, 6.00113743e+02,
3.24114606e+02]),
'mean_test_score': array([0. , 0.2108587, 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. , 0.2108587, 0. ,
0. , 0.2108587, 0. , 0. , 0. ]),
[结果文字较长,但由于字符限制我删除了它]
'rank_test_scores': array([4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 1, 4, 4, 4]),
'status': ['Timeout', 'Success', 'Memout', 'Crash', 'Memout', 'Memout', 'Crash', 'Crash', 'Crash', 'Memout', 'Success', 'Timeout', 'Crash', 'Success', 'Timeout', 'Timeout', 'Timeout']}
没有mean_train_score,似乎mean_test_score中有很多缺失。难道我做错了什么?当我允许我的模型运行更长时间时,我遇到了同样的问题。当我运行10倍交叉验证时,我的R2也比没有
时更差任何指导都将不胜感激。屋。