Как применять веса в rpart?

У меня есть эти данные о домах из соревнований практики Kaggle, и я использую rpart для обучения простой первой модели, чтобы предсказать цену продажи.

Модель неправильно идентифицирует продажи, где условие продажи было ненормальным или авансовый платеж. Поэтому я хотел бы повысить важность этой переменной, которая явно упускается из виду в модели.

Я предполагаю, что это делается с помощью параметра "весов", но как этот параметр используется? Как я могу определить, какие переменные я хочу иметь больший вес?

1 ответ

Из документации:

веса

необязательные веса корпуса.

Стоимость

вектор неотрицательных затрат, по одному для каждой переменной в модели. По умолчанию один для всех переменных. Это масштабирование, которое должно применяться при рассмотрении разбиений, поэтому улучшение разделения по переменной делится на его стоимость при определении того, какое разделение выбрать.

Вес для строк (например, дать больший вес для меньшего класса), стоимость для столбцов.

Пример использования для применения параметра весов (не обязательно лучший способ определения весов):

positiveWeight = 1.0 / (nrow(subset(training, Y == TRUE)) / nrow(training))
negativeWeight = 1.0 / (nrow(subset(training, Y != TRUE)) / nrow(training))

modelWeights <- ifelse(training$Y== TRUE, positiveWeight, negativeWeight)

dtreeModel <- rpart(predFormula, training, weights = modelWeights)
Другие вопросы по тегам