1

ブーストされたモデルの精度を見つけようとしています。私のコードは次のとおりです。

wine.boost = gbm(as.factor(wine) ~ alcohol+hue, data = italiantrain,
distribution = "multinomial", n.trees = 5000 , interaction.depth = 2)

wine.boost.testpredict = predict(wine.boost, newdata=italiantest, 
n.trees =5000, type = "response")

confusionMatrix(wine.boost.testpredict, italiantrain$wine)

これを試すと、次のエラーが表示されます。

Error in confusionMatrix.default(wine.boost.trainpredict, italiantest$wine): 
the data cannot have more levels than the reference

何を修正すればよいのか、何を間違っているのかわかりません。助言がありますか?

4

1 に答える 1

2

データに慣れるための最善の方法は、データを見ないことです。

> iris.boost = gbm(Species ~ ., data = iris,
+                  distribution = "multinomial", n.trees = 5000 , interaction.depth = 2)
> 
> iris.boost.testpredict = predict(iris.boost, newdata=iris[1:3, 1:4], 
+                                  n.trees =5000, type = "response")
> iris.boost.testpredict
, , 5000

        setosa   versicolor    virginica
[1,] 0.9987619 0.0011808413 5.722106e-05
[2,] 0.9994021 0.0004801001 1.177551e-04
[3,] 0.9993529 0.0005547632 9.236662e-05

基本的なgbm出力を係数に変換する必要があります (またはtrain、それを行う を使用します)。

于 2015-10-01T02:53:55.360 に答える