Выведите «randomForest» с изменением MeanDecreaseAccuracyValues - PullRequest
0 голосов
/ 23 января 2020

У меня есть вопрос, касающийся пакета «randomForest» в R. Я пытаюсь построить модель с экологическими переменными, которая наилучшим образом объясняет мои данные о занятости видов для 41 участка в поле (которые я собрал из ловушек камеры). Моя конечная цель - выполнить моделирование видовой занятости с использованием пакета «без опознавательных знаков», но прежде чем перейти к этому этапу, мне нужно выбрать переменные, которые лучше всего объясняют мою занятость, поскольку у меня их много. Чтобы получить некоторое представление о пакете randomForest, я сгенерировал поддельный набор данных о занятости и поддельный набор данных переменных (переменные A и D были хорошими предикторами моей занятости, а B и C - плохими предикторами). Когда я запускаю randomForest, мои выходные данные выглядят так:

           0        1 MeanDecreaseAccuracy MeanDecreaseGini
A 25.3537667 27.75533           26.9634018       20.6505920
B  0.9567857  0.00000            0.9665287        0.0728273
C  0.4261638  0.00000            0.4242409        0.1411643
D 32.1889374 35.52439           34.0485837       27.0691574

        OOB estimate of  error rate: 29.02%
Confusion matrix:
    0   1 class.error
0 250 119   0.3224932
1   0  41   0.0000000

Я не сделал отдельный набор поездов и тестов, я добавил вес модели, чтобы правильно предсказать «1», и переменные масштабируются .

Я понимаю, что этот вывод говорит мне, что A и D являются важными переменными, потому что они имеют высокие значения MeanDecreaseAccuracy. Тем не менее, D является обратным к A (они идеально коррелируют), так почему D имеет более высокое значение MeanDecreaseAccuracy?

Более того, когда я запускаю randomForest только с A и D в качестве переменных, эти значения изменяются, в то время как Матрица путаницы остается прежней:

         0        1 MeanDecreaseAccuracy MeanDecreaseGini
A 28.79540 29.77911             29.00879         23.58469
D 29.75068 30.79498             29.97520         24.53415

        OOB estimate of  error rate: 29.02%
Confusion matrix:
    0   1 class.error
0 250 119   0.3224932
1   0  41   0.0000000

Когда я запускаю модель только с одним хорошим предиктором (A или D) или с хорошим и плохим предиктором (AB или CD), матрица путаницы остается такой же, но Значения MeanDecreaseAccuracy моих предикторов меняются. Почему эти значения меняются и как мне подходить к выбору моих переменных? (Я новичок в моделировании занятости).

Большое спасибо!

...