Де нормализовать данные в R - PullRequest
0 голосов
/ 05 мая 2020

Я применяю функцию нормализации к своим данным с помощью этого кода:

normalize <- function(x) { return ((x - min(x)) / (max(x) - min(x)))}

Затем я применил функцию к своим данным, только для переменных numeri c.

bankfull[,c(1,6,10,12:15)]= as.data.frame(lapply(bankfull[,c(1,6,10,12:15)], normalize))

Может ли кто-нибудь помочь мне отменить нормализацию?

Заранее спасибо.

1 Ответ

0 голосов
/ 05 мая 2020

Существует пакет DMwR, который отменяет масштабирование наборов значений, и его стоит попробовать, даже несмотря на то, что есть подводные камни, на которые следует обратить внимание, как Джон упомянул в комментариях. Например, для 100 наблюдений, нормально распределенных со средним значением 5 и стандартным отклонением 1:

library(DMwR)
a <- rnorm(100,5,1)
hist(a)

enter image description here

b <- scale(a)
c <- DMwR::unscale(b,b)

Теперь вы можете сравнить значения путем вычитания a-c (вы получаете почти все нули) или построения графика vs c (который показывает эквиваленты):

enter image description here

...