2015-05-13 10 views
2

Я использую пакет h2o для создания модели регрессии RandomForest. У меня есть некоторые проблемы с важностью переменных. Модель, которую я создаю, здесь. Все работает нормально.h2o randomForest variable important

Некоторые из переменных являются числовыми, но некоторые из них категоричны.

RandomForest <- h2o.randomForest(x = c("Year", "Month", "Day", "Time", "Show", "Gen", 
            "D", "Lead"), y = "Ratio", data = data.hex, importance=T, stat.type = "GINI", 
          ntree = 50, depth = 50, nodesize = 5, oobee = T, classification = FALSE, type = "BigData") 

Однако, когда я хочу видеть переменную важность, результат выглядит следующим образом.

Classification: FALSE 
Number of trees: 50 
Tree statistics: 
     Min. Max. Mean. 
Depth  30 40 33.26 
Leaves 20627 21450 21130.24 


Variable importance: 
         Year Month  Day  Time Show Gen   D Lead 
Relative importance 20536.64 77821.76 26742.55 67476.75 283447.3 60651.24 87440.38 3658.625 
Standard Deviation  NA  NA  NA  NA  NA  NA  NA  NA 
Z-Scores     NA  NA  NA  NA  NA  NA  NA  NA 

Overall Mean-squared Error: 

То, что я хотел бы знать: 1) Почему не может быть значения NA. 2) Что на самом деле означает относительное значение. Разве это не должно быть от 1 до 100? 3) Почему на выходе нет матрицы замешательства?

Спасибо за помощь!

+0

Является ли ваш результат ('y') переменной непрерывной? На выходе записано 'Классификация: FALSE'. Матрица замешивания применяется только к категориальным переменным результата. – eipi10

ответ

4

Во-первых, я бы рекомендовал загрузить последнюю версию H20-3. Это может решить проблему получения значения NA для стандартного отклонения. Относительное значение количественно оценивает вклад конкретного предикатора против вклада, сделанного другими индивидуальными предикторами при прогнозировании переменной ответа. Количество, о котором вы могли подумать, должно составлять от 1 до 100, - это масштабное значение. Наконец, причина, по которой вы не получаете матрицу путаницы в своем выпуске, состоит в том, что у вас есть модель регрессии, а не модель классификации. Матрицы путаницы производятся только для моделей классификации.

Вы можете запустить случайный пример леса в R, выполнив следующие команды:

library(h2o) 
conn <- h2o.init() 
demo(h2o.randomForest) 

Вы можете увидеть вашу растерянность матрицу/отн и масштабируется таблицу важности, выполнив следующие действия:

> h2o.confusionMatrix(iris.rf) 
Confusion Matrix - (vertical: actual; across: predicted): 
       Iris-setosa Iris-versicolor Iris-virginica Error  Rate 
Iris-setosa  50.000000  0.000000  0.000000 0.0000 = 0/50 
Iris-versicolor 0.000000  47.000000  3.000000 0.0600 = 3/50 
Iris-virginica  0.000000  6.000000  44.000000 0.1200 = 6/50 
Totals   50.000000  53.000000  47.000000 0.0600 = 9/150 
> h2o.varimp(iris.rf) 
Variable Importances: 
    variable relative_importance scaled_importance percentage 
1 petal_len   1926.421509   1.000000 0.445738 
2 petal_wid   1756.277710   0.911679 0.406370 
3 sepal_len   493.782562   0.256321 0.114252 
4 sepal_wid   145.390717   0.075472 0.033641 

Спасибо и надеюсь, что это поможет!

+0

Что говорит вам относительная важность? Высшее значение означает, что эта переменная наиболее способствует прогнозированию целевой переменной по отношению к другим переменным? или это наоборот? Итак, в вашем примере относительное значение id выше для petal_len, означает ли это, что это самое важное? – user3664020