2016-12-09 5 views
0

Ich benutze randomforest, um einen Trainingssatz von 600 Zeilen mit 21 Variablen zu analysieren.Random Forest generiert nicht err.rate

# Construct Random Forest Model 
rfmodel <- randomForest(default ~ ., 
        data = train.df, 
        ntree = 500, 
        mtry = 4, 
        importance = TRUE, 
        LocalImp = TRUE, 
        replace = FALSE) 
print(rfmodel) 

Dies erzeugt folgendes:

> rfmodel <- randomForest(default ~ ., 
+ data = train.df, 
+ ntree = 500, 
+ mtry = 4, 
+ importance = TRUE, 
+ LocalImp = TRUE, 
+ replace = FALSE) 

> Warning message: 
> In randomForest.default(m, y, ...) : 
> The response has five or fewer unique values. Are you sure you want to do 
> regression? 

> print(rfmodel) 

>Call: 
randomForest(formula = default ~ ., data = train.df, ntree = 500,  mtry = 4, importance = TRUE, LocalImp = TRUE, replace = FALSE) 
      Type of random forest: regression 
       Number of trees: 500 
No. of variables tried at each split: 4 

     Mean of squared residuals: 0.1577596 
       % Var explained: 23.89 

Dies wird die Verwirrung Matrix aus irgendeinem Grund fehlt. Wenn ich versuche, die err.rate zu erzeugen, es gibt mir diese:

Kopf (rfmodel $ err.rate)
NULL

+0

Also meine Frage ist, was mache ich hier falsch? Ich brauche die Verwirrung Matrix mit OOB und 0 und 1 basierend auf dem "Standard", der die beobachtbare Variable ist. – user7273726

+0

Fügen Sie die Frage nicht in einem Kommentar hinzu - bearbeiten Sie die Frage. –

Antwort

0

Ich denke, dass Sie Klassifizierung tun wollen, aber Standard ist wird als numerische Variable behandelt. versuchen Sie class(train.df$default). Wenn es sich tatsächlich um eine numerische Variable handelt, müssen Sie sie in einen Faktor konvertieren, bevor Sie RF ausführen.

+0

Sie haben Recht - ich hätte es zu einem Faktor umgewandelt. Vielen Dank – user7273726

Verwandte Themen