Наличие следующего кода для создания набора данных для обучения дерева решений:
set.seed(2)
train_sample <- sample(nrow(X), nrow(X) * 0.7)
X_test <- X[-train_sample,]
Это позволит создать обучающую выборку, содержащую 70% данных, и тестовую выборку, содержащую остальные 30%.
Проблема, с которой я столкнулся, заключается в том, что при этом не учитывается, что некоторые значения в целевом столбце встречаются реже, чем другие. Например, целевой столбец может содержать значения в диапазоне от 4 до 8. Однако 90% из них находятся в диапазоне от 5 до 7. Это означает, что только 10% всех (целевых) данных - это 4 или 8.
Как мне лучше всего подойти к этому, следует ли принимать это во внимание при создании тренировочного набора или я должен игнорировать это? И как я могу принять это во внимание при создании тренировочного набора, если я должен? Есть ли какие-нибудь простые методы для применения?