R

[빅분기 실기대비] 작업형 제1유형 for R 정규화, 표준화

한번해보즈아 2021. 6. 1. 13:42

 

min-max 정규화

#작업 1유형 문제
#mtcars 데이터셋(mtcars.csv)의 qsec 컬럼을 최소최대 척도(Min-Max Scale)로 변환한 후 
#0.5보다 큰 값을 가지는 레코드 수를 구하시오

Min_qsec <- min(mtcars$qsec)
Max_qsec <- max(mtcars$qsec)
mtcars$"test" <- scale(mtcars$qsec, center=Min_qsec, scale=Max_qsec-Min_qsec)
> mtcars$"test"
            [,1]
 [1,] 0.23333333
 [2,] 0.30000000
 [3,] 0.48928571
 [4,] 0.58809524
 [5,] 0.30000000
 [6,] 0.68095238
 [7,] 0.15952381
 [8,] 0.65476190
 [9,] 1.00000000
 
sum(mtcars$"test" > 0.5)
[1] 9

 

 

 

qsec 컬럼의 최소값과 최대값을 구한다음에 mtcars데이터에 "test"라는 이름으로 열을 붙여준다음 min-max정규화를 통해 정규화 수행후 0.5이상 갖는 값을 sum 하여 줍니다.  그러면 총 9개가 나오게됩니다.

 

표준화

 

> scale(mtcars$qsec)
             [,1]
 [1,] -0.77716515
 [2,] -0.46378082
 [3,]  0.42600682
 [4,]  0.89048716

 

표준화는 위와 같이 하면 더 간단하게 수행할수있습니다.