Widziałem formułę normalizacji min-max, ale normalizuje ona wartości od 0 do 1. W jaki sposób normalizowałbym moje dane od -1 do 1? Mam zarówno ujemne, jak i dodatnie wartości w mojej macierzy danych.
dataset
normalization
Covfefe
źródło
źródło
Odpowiedzi:
Za pomocą: normalizujesz swoją funkcję x w [0,1] .
Aby normalizować w[−1,1] , możesz użyć:
Ogólnie rzecz biorąc, zawsze możesz uzyskać nową zmiennąx′′′ w [a,b] :
źródło
Testowałem na losowo generowanych danych i
nie zachowuje kształtu rozkładu. Naprawdę chciałbym zobaczyć prawidłowe wyprowadzenie tego przy użyciu funkcji zmiennych losowych.
Podejście, które zachowało dla mnie ten kształt, polegało na:
gdzie
(Przyznaję, że używanie 6 jest trochę brudne ) i
i
Doszedłem do wyniku tego rozumowania
źródło
set.seed(1); scale(rnorm(1000))*.333
. Dostaję maksimum1.230871
. Wydaje się, że twoja metoda to tylko drobna poprawa standaryzacji danych, zamiast normalizacji ich zgodnie z żądaniami. Zauważ, że pytanie nie wymaga metody, która zachowuje kształt rozkładu (co byłoby dziwnym wymogiem normalizacji).