Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

normalize

데이터 정규화

설명

예제

N = normalize(A)A에 있는 데이터의 벡터별 z 점수를 반환합니다. 이때 z 점수의 중심은 0이고 표준편차는 1입니다.

  • A가 벡터이면 normalize는 전체 벡터에 대해 동작을 수행합니다.

  • A가 행렬, 테이블 또는 타임테이블이면 normalize는 데이터의 각 열에 대해 개별적으로 동작을 수행합니다.

  • A가 다차원 배열인 경우 normalize는 크기가 1이 아닌 첫 번째 배열 차원에 따라 동작합니다.

예제

N = normalize(A,dim)은 차원 dim을 따라 z 점수를 반환합니다. 예를 들어, normalize(A,2)는 각 행을 정규화합니다.

예제

N = normalize(___,method)는 위에 열거된 구문에 대한 정규화 방법을 지정합니다. 예를 들어, normalize(A,'norm')A에 있는 데이터를 유클리드 노름(2-노름)으로 정규화합니다.

예제

N = normalize(___,method,methodtype)은 지정된 method에 대한 정규화 유형을 지정합니다. 예를 들어, normalize(A,'norm',Inf)는 무한대 노름을 사용하여 A에 있는 데이터를 정규화합니다.

예제

N = normalize(___,'DataVariables',datavars)는 입력 데이터가 테이블 또는 타임테이블인 경우 동작을 수행할 변수를 지정합니다.

예제

모두 축소

z 점수를 계산하여 벡터와 행렬에 있는 데이터를 정규화합니다.

벡터 v를 만들고 데이터가 평균 0과 표준편차 1을 갖도록 정규화하여 z 점수를 계산합니다.

v = 1:5;
N = normalize(v)
N = 1×5

   -1.2649   -0.6325         0    0.6325    1.2649

행렬 B를 만들고 각 열에 대해 z 점수를 계산합니다. 그런 다음 각 행을 정규화합니다.

B = magic(3)
B = 3×3

     8     1     6
     3     5     7
     4     9     2

N1 = normalize(B)
N1 = 3×3

    1.1339   -1.0000    0.3780
   -0.7559         0    0.7559
   -0.3780    1.0000   -1.1339

N2 = normalize(B,2)
N2 = 3×3

    0.8321   -1.1094    0.2774
   -1.0000         0    1.0000
   -0.2774    1.1094   -0.8321

벡터 A를 표준편차로 스케일링합니다.

A = 1:5;
Ns = normalize(A,'scale')
Ns = 1×5

    0.6325    1.2649    1.8974    2.5298    3.1623

범위가 구간 [0,1] 내에 오도록 A를 스케일링합니다.

Nr = normalize(A,'range')
Nr = 1×5

         0    0.2500    0.5000    0.7500    1.0000

벡터 A를 만들고 1-노름으로 정규화합니다.

A = 1:5;
Np = normalize(A,'norm',1)
Np = 1×5

    0.0667    0.1333    0.2000    0.2667    0.3333

A가 평균 0을 갖도록 데이터를 중심화합니다.

Nc = normalize(A,'center','mean')
Nc = 1×5

    -2    -1     0     1     2

다섯 사람의 키 정보를 포함하는 테이블을 만듭니다.

LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'};
Height = [71;69;64;67;64];
T = table(LastName,Height)
T=5×2 table
    LastName     Height
    _________    ______

    'Sanchez'      71  
    'Johnson'      69  
    'Lee'          64  
    'Diaz'         67  
    'Brown'        64  

가장 큰 키를 사용해 키 데이터를 정규화합니다.

N = normalize(T,'norm',Inf,'DataVariables','Height')
N=5×2 table
    LastName     Height 
    _________    _______

    'Sanchez'          1
    'Johnson'    0.97183
    'Lee'        0.90141
    'Diaz'       0.94366
    'Brown'      0.90141

입력 인수

모두 축소

입력 데이터로, 스칼라, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.

A가 숫자형 배열이고 single형인 경우 출력값도 single형입니다. 그렇지 않은 경우 출력값은 double형입니다.

normalizeA에 있는 NaN 값을 무시합니다.

데이터형: double | single | table | timetable
복소수 지원 여부:

함수 동작이 수행될 차원으로, 양의 정수 스칼라로 지정됩니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

정규화 방법으로, 다음 옵션 중 하나로 지정됩니다.

방법

설명

'zscore'

평균이 0이고 표준편차가 1인 z 점수

'norm'

2-노름

'scale'

표준편차로 스케일링

'range'

데이터 범위를 [0,1]로 스케일링

'center'

데이터가 평균 0을 갖도록 중심화

방법 유형으로, 지정된 방법에 따라 스칼라, 요소를 2개 가진 행 벡터 또는 문자형 벡터로 지정됩니다.

방법

방법 유형 옵션

설명

'zscore'

'std'(디폴트 값)

평균 0과 표준편차 1을 갖도록 정규화

'robust'

중앙값 0과 중앙값 절대 편차 1을 갖도록 정규화

'norm'

양의 숫자형 스칼라(디폴트 값은 2)

p-노름

Inf

무한대 노름

'scale'

'std'(디폴트 값)

표준편차로 스케일링

'mad'

중앙값 절대 편차로 스케일링

'first'

데이터의 첫 번째 요소로 스케일링

숫자형 스칼라

숫자형 값으로 데이터 스케일링

'range'

요소를 2개 가진 행 벡터(디폴트 값은 [0 1])

[a b] 형식의 간격, 여기서 a < b

'center'

'mean'

평균 0을 갖도록 중심화

'median'

중앙값 0을 갖도록 중심화

숫자형 스칼라

숫자형 값만큼 중심 이동

테이블 변수로, 'DataVariables'와 함께 스칼라, 벡터, 셀형 배열, 함수 핸들 또는 테이블 vartype 첨자가 쉼표로 구분되어 지정됩니다. 'DataVariables' 값은 입력 테이블에서 동작을 수행할 변수를 나타내며, 다음 중 하나일 수 있습니다.

  • 단일 테이블 변수 이름을 지정하는 문자형 벡터 또는 string형 스칼라

  • 각 요소가 테이블 변수 이름인, 문자형 벡터 또는 string형 배열로 구성된 셀형 배열

  • 테이블 변수 인덱스로 구성된 벡터

  • 각각의 요소가 테이블 변수에 해당하는 논리형 벡터. 여기서 true는 해당하는 변수를 포함하고 false는 해당하는 변수를 제외합니다.

  • 테이블을 입력값으로 취하고 논리형 스칼라를 반환하는 함수 핸들

  • 테이블 vartype 첨자

예: 'Age'

예: {'Height','Weight'}

예: @isnumeric

예: vartype('numeric')

세부 정보

모두 축소

Z 점수

평균이 μ이고 표준편차가 σ인 확률 변수 X에 대해, 값 x의 z 점수는 z=(xμ)σ.입니다. 평균이 X¯이고 표준편차가 S인 샘플 데이터에 대해, 데이터 점 x의 z 점수는 z=(xX¯)S.입니다.

z 점수는 표준편차를 사용하여 평균에서 데이터 점까지의 거리를 측정합니다. 표준화된 데이터 세트는 평균 0과 표준편차 1을 가지며, 원본 데이터 세트의 형태 속성이 그대로 유지됩니다(동일한 왜도와 첨도).

P-노름

N개 요소를 가진 벡터 v의 p-노름에 대한 일반 정의는 다음과 같습니다.

vp=[k=1N|vk|p]1/p,

여기서 p는 임의의 양의 실수, Inf 또는 -Inf입니다. 일반적으로 사용되는 몇 가지 p 값은 다음과 같습니다.

  • p가 1이면 결과로 생성되는 1-노름은 벡터 요소의 절댓값의 합입니다.

  • p가 2이면 결과로 생성되는 2-노름은 벡터 크기 또는 벡터의 유클리드 길이를 제공합니다.

  • p가 Inf이면 v=maxi(|v(i)|)입니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

참고 항목

| |

R2018a에 개발됨