Вот мой код:Какова мера, используемая для «важности» в h2o случайного леса
set.seed(1)
#Boruta on the HouseVotes84 data from mlbench
library(mlbench) #has HouseVotes84 data
library(h2o) #has rf
#spin up h2o
myh20 <- h2o.init(nthreads = -1)
#read in data, throw some away
data(HouseVotes84)
hvo <- na.omit(HouseVotes84)
#move from R to h2o
mydata <- as.h2o(x=hvo,
destination_frame= "mydata")
#RF columns (input vs. output)
idxy <- 1
idxx <- 2:ncol(hvo)
#split data
splits <- h2o.splitFrame(mydata,
c(0.8,0.1))
train <- h2o.assign(splits[[1]], key="train")
valid <- h2o.assign(splits[[2]], key="valid")
# make random forest
my_imp.rf<- h2o.randomForest(y=idxy,x=idxx,
training_frame = train,
validation_frame = valid,
model_id = "my_imp.rf",
ntrees=200)
# find importance
my_varimp <- h2o.varimp(my_imp.rf)
my_varimp
Вывод, который я получаю «переменное значение».
Классические меры - это «среднее снижение точности» и «среднее снижение коэффициента Джини».
Мои результаты:
> my_varimp
Variable Importances:
variable relative_importance scaled_importance percentage
1 V4 3255.193604 1.000000 0.410574
2 V5 1131.646484 0.347643 0.142733
3 V3 921.106567 0.282965 0.116178
4 V12 759.443176 0.233302 0.095788
5 V14 492.264954 0.151224 0.062089
6 V8 342.811554 0.105312 0.043238
7 V11 205.392654 0.063097 0.025906
8 V9 191.110046 0.058709 0.024105
9 V7 169.117676 0.051953 0.021331
10 V15 135.097076 0.041502 0.017040
11 V13 114.906586 0.035299 0.014493
12 V2 51.939777 0.015956 0.006551
13 V10 46.716656 0.014351 0.005892
14 V6 44.336708 0.013620 0.005592
15 V16 34.779987 0.010684 0.004387
16 V1 32.528778 0.009993 0.004103
С этой моей относительной важности "Голосуй # 4" ака V4, составляет ~ 3255,2.
Вопросы: Какие единицы это? Как это происходит?
Я пробовал искать документацию, но не нашел ответа. Я попробовал справочную документацию. Я попытался использовать Flow, чтобы посмотреть параметры, чтобы увидеть, что там указано. Ни в одном из них я не нахожу «gini» или «уменьшить точность». Где я должен смотреть?
Я думаю, вы указываете на то, где говорится: «Важное значение определяется путем вычисления относительного влияния каждой переменной: была ли выбрана эта переменная во время разделения в процессе построения дерева и насколько квадратная ошибка (по всем деревьям) улучшена в результате. »« Это не «Джини» или «Снижение точности». Есть ли уравнение, справочный документ или псевдокод? Я нахожу совсем другое поведение, чем выход библиотеки R 'Boruta' для РФ. – EngrStudent
Мы используем один и тот же древовидный код в наших GBM и RF, поэтому используемое основное уравнение одинаково для обоих (хотя algos работают по-разному, так что окончательные значения значения GBM и RF будут разными). Ссылка - это уравнение 45 в этой статье: https://statweb.stanford.edu/~jhf/ftp/trebst.pdf –
Мне нравятся жадные аппроксимации. Важность будет столь же принципиально иной, как и GBM из РФ. Спасибо. – EngrStudent