У меня есть сильно несбалансированный набор данных с экземплярами целевого класса в следующем соотношении 60000:1000:1000:50
(т.е. всего 4 класса). Я хочу использовать randomForest
для прогнозирования целевого класса.
Итак, чтобы уменьшить дисбаланс класса, я поиграл с параметром sampsize
, установив для него значение c(5000, 1000, 1000, 50)
и некоторые другие значения, но его использование было не слишком sampsize
. На самом деле, точность 1-го класса снизилась, когда я играл с sampsize
, хотя улучшение в других классовых предсказаниях было очень незначительным.
При копании в архивах я натолкнулся на еще две функции randomForest()
- это strata
и classwt
, которые используются для компенсации проблемы дисбаланса классов.
Все документы по classwt
были старыми ( как правило, принадлежащий к годам 2007, 2008), все из которых предложили не использовать classwt
особенность randomForest
пакета в R
, поскольку он не полностью реализовать свою полную функциональность, как это делает в fortran
. Итак, первый вопрос:
classwt
ли реализован randomForest
пакете randomForest
из R? Если да, что означает передача c(1, 10, 10, 10)
в аргумент classwt
? (Предполагая вышеупомянутый случай 4 классов в целевой переменной)
Другим аргументом, который, как говорят, компенсирует проблему дисбаланса классов, является стратифицированная выборка, которая всегда используется в сочетании с sampsize
. Я понимаю, что за sampsize
из документации, но нет достаточного количества документации или примеров, которые бы дали четкое представление об использовании strata
для преодоления проблемы дисбаланса классов. Итак, второй вопрос:
Какой тип аргументов необходимо передать strata
в randomForest
и что он представляет?
Я предполагаю, что слово вес, которое я не упомянул явно в вопросе, должно играть главную роль в ответе.