Как использовать распределение '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
нет!