У меня есть несбалансированные данные поезда , и теперь я хочу добавить некоторый вес для моего меньшинства ("плохо") , который должен быть предсказан, а затем поместить вес вrpart
запятая:
Мой фрейм данных выглядит примерно так:
> head(train)
case V1 V2 V3 V4
1 bad a LL AUT 1
2 good b LL AUT 3
3 good b LL AUT 2
4 good b LL MAN 1
5 good c RL AUT 2
6 good b LL AUT 3
Теперь добавьте вес моим "плохим" делам:
caseweights <- train$case[train$case == "bad"]
> tree <- rpart(train$case ~ ., train,
+ method = "class",
+ minsplit =1, minbucket=1, maxdepth=3,
+ parms = list(split = "gini"),
+ cp=-1, weight = caseweights)
Но этодает мне это ошибка :
Ошибка в model.frame.default (формула = train $ case ~., data = train,: Variablenlängen sind unterschiedlich (gefunden für '(weights)) ')
Это по-немецки и в основном говорит, что длины переменных различны (найдено для' (весов) '....
Итак, я посмотрю, какдолго мои наборы данных:
> nrow(train)
[1] 11525
> nrow(caseweights)
NULL # <---------- Why NULL?
Когда я смотрю на caseweigths, я вижу вектор с ~ 420 записями "bad" ... Где я ошибаюсь?