2016-04-10 2 views
0

Я сделал некоторые классификационные модели, где 1 означает, что это одно и то же лицо, а 0 означает, что они разные.Модели классификации ансамблей

Если я печатаю голову из моих предсказаний выглядит следующим образом:

> head(PredictCTree) 
[1] 0 0 0 0 0 0 
Levels: 0 1 
> head(PredictSVM) 
    1 1.1 1.2 1.3 1.7 1.14 
    0 0 0 0 0 0 
Levels: 0 1 
> head(PredictForest) 
    1.212 1.839 1.906 1.951 1.1011 1.1151 
     1  1  1  0  1  1 
Levels: 0 1 

Так что, если я хочу, чтобы усреднить их и добавить их я должен сделать их числовыми, но вот где я борюсь : Пример:

> PredictForest[1] 
1.212 
    1 
Levels: 0 1 

в основном я хочу добавить 1 + 0 (для PredictForest и СВМ)

as.numeric(PredictForest[1]) 
[1] 2 

, но я в конечном итоге получить этот ответ:

> as.numeric(PredictForest[1]) + as.numeric(fitted.results[1] + as.numeric(PredictCTree[1])) 
[1] 4 

Любые предложения?

Мой ожидаемый результат будет:

> as.numeric(PredictForest[1]) + as.numeric(fitted.results[1] + as.numeric(PredictCTree[1])) 
    [1] 1 

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

Спасибо!

ответ

2

Если вы попытаетесь преобразовать множитель в число, он даст вам номер в коэффициенте. Чтобы преобразовать в числа, вы можете сначала запустить as.character, что безопасно превратит его в формат, который вы можете запустить as.numeric.

test <- as.factor(c(0, 1)) 
as.numeric(test) 
# [1] 1 2 
as.numeric(as.character(test)) 
# [1] 0 1 

R FAQ рекомендует другой подход к скорости

7,10 Как преобразовать факторы в числовой?

Может случиться так, что при чтении числовых данных в R (обычно при чтении в файле) они входят в качестве факторов. Если f является таким факторным объектом, вы можете использовать

as.numeric(as.character(f)) , чтобы вернуть номера. Более эффективное, но труднее запомнить, это

as.numeric(levels(f))[as.integer(f)] В любом случае, не называйте as.numeric() или их любит непосредственно для выполнения этой задачи под рукой (как as.numeric() или unclass() дают внутренние коды).

+0

Спасибо, сейчас я понимаю! –

Смежные вопросы