Как использовать распределение 'adaboost' в 'gbm', чтобы иметь содержательный прогноз?

Итак, вот что происходит - у меня есть набор данных Титаник со следующими 9 столбцами:

(i) выжил (0/1) [2 уровня],

(ii) Pclass (1/2/3) [3 уровня],

(iii) Пол (M/F) [2 уровня],

(iv) возраст (непрерывная переменная),

(v) Тариф (непрерывная переменная),

(vi) Начал (C/Q/S) [3 уровня],

(vii) SibSp (непрерывная переменная),

(viii) Parch (непрерывная переменная), и

(ix) Титулы (Mr/MsMrs/Master/X) [4 уровня].

Я пытаюсь предсказать Survived из других восьми, используя gbm пакет в R и я использую следующее:

fit.gbm = gbm(Survived ~ Age + Fare + SibSp + Parch + Pclass + Titles + Sex + Embarked , data=train , distribution = "adaboost", n.trees=500 , interaction.depth=3 , shrinkage=0.005)

Тогда я использую

predd.gbm = predict(fit.gbm , newdata=train , type="response" , n.trees=500)    

И я не понимаю, что я получаю, потому что все в predd.gbm выглядит как 0.99983, 0.999974 и т. Д. Как понять, что я получаю, и как я могу предсказать 0/1 из этого странного predd.gbm-" вероятность ", где каждый элемент близок к 1?

1 ответ

Аааа, так что способ сделать это изменить (я) с фактора на числовое с помощью:

train$Survived = as.numeric(train$Survived)

randomForest понимает, что выжил является фактором, но gbm нет!

Другие вопросы по тегам