auto-sklearn中的交叉验证

时间:2018-03-30 19:22:38

标签: python automl

我正在尝试使用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也比没有

时更差

任何指导都将不胜感激。屋。

0 个答案:

没有答案