次のコードを検討してください。
require(rpart)
require(gbm)
fit = gbm(formula=Kyphosis~.,data=kyphosis,distribution="multinomial")
p = predict.gbm(fit,kyphosis,n.trees=100)
結果:
c(absent,absent,...) など、予測されたクラスを直接取得する方法はありますか
次のコードでこれを行うことができます:
colnames(p)[apply(p,1,function(i){which(i==max(i))})]
結果:
【1】「欠席」「欠席」「欠席」「欠席」…
ただし、これは常に文字列を返します。返される型を予測子の型と同じにしたい (たとえば、予測子が因子型の場合、結果を因子にしたい、または整数型の場合、結果を整数型にするなど...) . 予測されたクラスを返すデフォルト関数はありますか?
望ましい動作の例:
require(nnet)
fit = multinom(formula=Kyphosis~.,data=kyphosis)
predict(fit,kyphosis)