Регулировка размера теста K-Fold Cross Validation - PullRequest
0 голосов
/ 01 октября 2018

Я хочу использовать перекрестную проверку в k-кратном порядке на случайном лесном регрессоре в Python.Я понимаю, что k относится к числу сгибов в наборе данных, но как я могу настроить размер набора тестов?Скажем, я хотел разделить данные десятью различными способами, но в каждом сгибе я хотел разделить данные 50/50, как бы я это сделал?Вот то, что у меня сейчас есть:

from sklearn.cross_validation import cross_val_predict
from sklearn.ensemble import RandomForestRegressor as rfr

<wasn't sure how to include the data as its a big file>

# BUILD RANDOM FOREST MODEL
rfmodel = rfr(n_estimators = 100, random_state = 0)

# make cross validated predictions
cv_preds = cross_val_predict(rfmodel, x, y, cv=10)
cv_preds = (np.around(cv_preds, 2))

Я знаю, что k-fold не обязательно нужен для RF, однако для целей этого проекта это то, что мне нужно сделать.

РЕДАКТИРОВАТЬ: Я попытаюсь переформулировать, поскольку я, вероятно, не описал мою проблему достаточно хорошо.Скажем, у меня есть 100 наблюдений с k = 5, вместо того, чтобы разделять наблюдения на пять одинаковых размеров, тренироваться на k-1 и проверять оставшуюся складку, и я хочу случайным образом распределить 100 наблюдений в 50 /.50 разделите тест-поезд, запустите модель, а затем перераспределите 100 наблюдений в другое разделение 50/50 и снова запустите модель.Я бы тогда сделал это 5 раз.

...