Граючи з набором даних Boston Housing Dataset та RandomForestRegressor(з параметрами за замовчуванням) у scikit-learn, я помітив щось дивне: середній бал перехресної перевірки зменшився, оскільки я збільшив кількість складок понад 10. Моя стратегія крос-валідації була така:
cv_met = ShuffleSplit(n_splits=k, test_size=1/k)
scores = cross_val_score(est, X, y, cv=cv_met)
... де num_cvsбуло різноманітно. Я встановив , test_sizeщоб 1/num_cvsвідобразити на поїзд / тест - поведінка розділити по розмірам до-кратне CV. В основному, я хотів щось подібне до кратного CV, але мені також потрібна була випадковість (отже, ShuffleSplit).
Це випробування повторювалося кілька разів, після чого були складені середні бали та стандартні відхилення.
(Зверніть увагу, що розмір kпозначається площею кола; стандартне відхилення - по осі Y.)
Послідовно, збільшення k(з 2 до 44) призведе до короткого збільшення балів з подальшим постійним зниженням у міру kподальшого збільшення (понад ~ 10 разів)! Якщо що-небудь, я б очікував, що більше даних про тренінг призведе до незначного збільшення балів!
Оновлення
Зміна критеріїв оцінювання на абсолютну помилку призводить до поведінки, яку я очікував: підрахунок балів покращується зі збільшенням кількості складок у резюме K-кратного, а не наближається до 0 (як за замовчуванням, ' r2 '). Залишається питанням, чому показник оцінювання за замовчуванням призводить до низької продуктивності як середньої, так і показника STD для збільшення кількості складок.
