본문 바로가기
Computer Science/데이터마이닝

[Data Preprocessing] 2.

by 큌 2024. 4. 23.
반응형

1.Data Reduction

  • 데이터 축소는 데이터 세트의 축소된 표현을 얻는 과정으로, 볼륨은 훨씬 작지만 같은(또는 거의 같은) 분석 결과를 생성합니다. 이는 여러 가지 이유로 필요합니다. 첫째, 데이터베이스나 데이터 웨어하우스는 테라바이트 단위의 데이터를 저장할 수 있습니다. 이러한 방대한 양의 데이터를 처리하는 것은 매우 시간이 많이 걸리고 비효율적일 수 있습니다. 둘째, 복잡한 데이터 분석을 전체 데이터 세트에서 실행하는 데는 매우 오랜 시간이 걸릴 수 있습니다. 데이터 축소를 통해 분석 시간을 단축하고, 저장 공간을 절약하며, 데이터를 더 효율적으로 관리할 수 있습니다. 따라서 데이터 축소는 대규모 데이터 세트를 효율적으로 처리하고 분석하는 데 필수적인 과정입니다. 이를 통해 같은 분석 결과를 더 빠르고 효율적으로 얻을 수 있습니다.

2.Data Reduction Strategies

  • 데이터 축소 전략은 큰 데이터 세트를 효율적으로 관리하고 처리할 수 있도록 돕는 여러 기법을 포함합니다. 이러한 전략은 주로 데이터의 크기를 줄이면서도 중요한 정보를 유지하려는 목적을 가지고 있습니다. 주요 데이터 축소 전략은 다음과 같습니다. 차원 축소: 불필요한 속성을 제거하여 데이터의 차원을 줄입니다. 이는 특징 부분 선택, 특징 생성 같은 방법을 포함할 수 있습니다. 차원 축소를 통해 데이터의 복잡성을 줄이고, 분석을 더 쉽게 만들 수 있습니다. 특징 추출: 데이터에서 중요한 정보를 추출하는 과정입니다. 예를 들어, 특이값 분해(SVD)와 같은 기법을 사용하여 데이터 내에서 중요한 특징을 추출하고, 이를 통해 데이터를 더 간결하게 표현할 수 있습니다. 수량성 축소: 원본 데이터를 더 작은 형태의 대체 데이터로 바꾸는 방법입니다. 회귀분석, 히스토그램, 클러스터링, 샘플링 등이 이에 해당합니다. 이러한 방법은 데이터의 양을 줄이면서도 데이터의 핵심적인 패턴이나 특징을 보존하는 데 도움이 됩니다. 이러한 전략들은 데이터 분석의 정확도를 유지하면서도 데이터의 크기를 효과적으로 줄일 수 있도록 설계되었습니다. 데이터 축소는 데이터 저장 공간을 절약하고, 분석 시간을 단축하며, 전반적인 데이터 관리 효율성을 향상시키는 데 중요한 역할을 합니다.

3.Dimensionality Reduction

  • 차원 축소는 데이터의 복잡성을 줄이고 분석을 용이하게 하기 위해 사용되는 기술입니다. 이를 통해 높은 차원의 데이터를 더 낮은 차원으로 변환할 수 있으며, 이 과정에서 데이터의 중요한 정보는 최대한 보존됩니다. 차원 축소에는 주로 두 가지 접근 방식이 있습니다. 특성 선택(Feature selection): 이 방법은 원본 변수들 중에서 중요한 부분집합을 찾아내는 것입니다. 특성 선택을 통해 불필요하거나 중복적인 데이터를 제거함으로써 모델의 성능을 향상시킬 수 있습니다. 이러한 접근 방식은 원본 데이터의 차원을 줄이기 위해 중요한 특성만을 선택하여 분석에 사용합니다. 특성 추출(Feature extraction): 이 방식은 고차원 공간의 데이터를 저차원 공간으로 변환하는 과정입니다. 특성 추출을 통해 새로운 차원에서 데이터의 중요한 정보를 요약하거나 합성하여 표현할 수 있습니다. 예를 들어, 특이값 분해(SVD)나 주성분 분석(PCA)과 같은 기술이 이에 해당합니다. 이 두 접근 방식은 모두 데이터의 차원을 줄이는 데에 목적이 있지만, 특성 선택은 원본 특성들을 그대로 유지하면서 중요한 특성들만을 선택하는 반면, 특성 추출은 원본 데이터를 새로운 특성 공간으로 변환하는 것이 주된 차이점입니다. 차원 축소는 데이터의 처리 시간을 단축시키고, 모델의 성능을 향상시키며, 데이터의 이해를 돕는 데에 유용합니다.

4.Feature Selection

  • Feature selection은 데이터 마이닝 작업에 있어 불필요하거나 중복되는 속성을 제거하는 과정입니다. 이 과정은 유용한 정보를 제거하지 않으면서도 데이터 세트의 크기를 줄여 데이터 마이닝의 효율성을 높이는 데 목적이 있습니다. 예를 들어, 학생의 GPA를 예측하는 작업에 있어서 학생의 ID는 관련이 없는 속성이며, 제품의 구매 가격과 판매세액 또한 서로 밀접한 관련이 있어 중복 속성으로 간주될 수 있습니다. 휴리스틱 속성 선택 방법에는 여러 가지가 있습니다. d개의 속성이 있을 때 가능한 속성 조합은 2^d가지가 됩니다. 이 중에서 가장 효과적인 속성을 선택하는 방법으로는 다음 두 가지가 있습니다: 최적 단계별 특성 선택: 가장 좋은 단일 속성부터 시작하여, 그 다음으로 좋은 속성을 첫 번째 속성에 조건부로 선택합니다. 이 과정을 반복하여 속성을 추가합니다. 단계별 속성 제거: 반복적으로 가장 나쁜 속성을 제거합니다. 이 방법은 많은 속성 중에서 불필요하거나 중복되는 속성을 점차적으로 제거해 나가는 방식입니다. 이러한 방법들은 데이터에서 가장 유의미한 속성을 선택하여 분석의 정확도를 높이고, 계산 비용을 줄이는 데 도움을 줍니다.

5.Attribute Subset Selection

  • 속성 부분 집합 선택(Attribute Subset Selection)은 데이터에서 가장 유익하고 중요한 속성들만을 선택하는 과정입니다. 이 과정에서는 휴리스틱(Heuristic) 속성 선택 방법들이 주로 사용됩니다. 예를 들어, 모든 점을 두 좌표로 나타내는 대신, 각 점을 하나의 좌표(해당 점이 빨간 선 위의 위치에 해당하는 좌표)로 나타낼 수 있습니다. 이 방법을 사용하면 점들이 정확히 선 위에 놓이지 않기 때문에 약간의 오차가 발생할 수 있지만, 데이터의 차원을 줄임으로써 데이터를 더 간단하게 표현할 수 있습니다. 이러한 접근 방식은 데이터의 차원을 줄이고, 계산 비용을 절감하며, 데이터 분석의 효율성을 높이는 데 도움이 됩니다. 하지만, 중요한 정보 손실을 최소화하면서 어떤 속성을 선택할지 결정하는 것은 중요한 과제입니다. 휴리스틱 방법은 이러한 결정 과정에서 경험적 규칙이나 간단한 기준을 사용하여 속성 선택 과정을 가이드합니다.

6.Singular Value Decomposition (SVD)

  • Singular Value Decomposition(SVD)는 고차원 데이터를 더 적은 차원으로 표현하기 위한 방법 중 하나입니다. 예를 들어, 평면상의 점들을 두 좌표 (x, y)가 아닌 단 하나의 좌표 (z)로만 표현하는 경우를 생각해 볼 수 있습니다. 이때 점들의 위치는 벡터 v1을 따라서의 위치로 결정됩니다. z1을 선택하는 방법은 재구성 오류를 최소화하는 것입니다. 즉, 원래의 데이터를 가능한 한 잘 복원할 수 있는 z1 값을 찾는 것이 목표입니다. 이러한 방식으로, SVD는 데이터의 중요한 특성을 유지하면서 차원을 줄이는 효과적인 방법으로 작동합니다. SVD는 데이터를 분석하거나 압축할 때 유용하게 사용될 수 있으며, 이미지 처리, 추천 시스템, 자연어 처리 등 다양한 분야에서 활용됩니다. SVD를 통해 데이터의 복잡성을 줄이고, 계산 효율성을 높이며, 데이터 내 숨겨진 패턴이나 구조를 발견할 수 있습니다. 특이값 분해(Singular Value Decomposition, SVD)의 목표는 재구성 오류의 합을 최소화하는 것입니다. 여기서 재구성 오류란 원래 데이터의 좌표(xij)와 새로운 좌표계(zij)로 변환한 후의 좌표 사이의 차이를 의미합니다. SVD는 이러한 재구성 오류를 최소화하는 "최적"의 축을 찾는 방법을 제공합니다. 여기서 "최적"이란, 데이터를 새로운 좌표계로 투영했을 때 발생하는 오류, 즉 원본 데이터와 투영된 데이터 사이의 차이를 최소화하는 축을 의미합니다. 간단히 말해, SVD는 데이터가 가진 중요한 정보를 유지하면서 차원을 축소하기 위해 데이터를 새로운 좌표계로 투영하는 최적의 방법을 찾는 과정입니다. 이 과정을 통해 데이터의 복잡성을 줄이고, 계산 효율성을 높이며, 데이터 내 숨겨진 패턴이나 구조를 발견할 수 있습니다. SVD는 이미지 처리, 추천 시스템, 자연어 처리 등 다양한 분야에서 활용됩니다.

7.Properties of SVD

  • Singular Value Decomposition (SVD)는 입력 데이터 행렬을 특정 구조로 분해하는 방법입니다. 이 과정에서 생성되는 세 가지 주요 구성 요소는 다음과 같습니다: 입력 데이터 행렬: 크기가 m x n인 행렬로, 분석하고자 하는 데이터를 나타냅니다. 왼쪽 특이 행렬 (Left singular matrix): 크기가 m x m인 행렬로, 입력 데이터 행렬의 행 공간에 대응하는 기저 벡터를 포함합니다. 이 행렬의 열 벡터들은 서로 직교합니다. 대각 행렬 (Diagonal matrix): 크기가 m x n인 행렬로, 대각선 상에 위치한 요소들은 특이값(singular values)입니다. 이 특이값들은 입력 데이터 행렬의 '개념의 강도'를 나타내며, 일반적으로 크기 순으로 정렬됩니다. 대각선 이외의 요소들은 모두 0입니다. 오른쪽 특이 행렬 (Right singular matrix): 크기가 n x n인 행렬로, 입력 데이터 행렬의 열 공간에 대응하는 기저 벡터를 포함합니다. 이 행렬의 열 벡터들 또한 서로 직교합니다. SVD의 핵심적인 성질은 데이터의 차원 축소, 잡음 제거, 데이터의 중요한 특징 추출 등에 활용됩니다. 이러한 특성 때문에 SVD는 이미지 처리, 자연어 처리, 추천 시스템 등 다양한 분야에서 응용됩니다. SVD(Singular Value Decomposition, 특이값 분해)의 특성은 다음과 같습니다: 어떤 m x n 행렬 A도 U, 시그마, V^T의 형태로 분해가 가능합니다. 여기서 A = U시그마V^T 입니다. U, 시그마, V는 각각 고유합니다. 즉, 특정 행렬에 대해 이들의 값은 하나만 존재합니다. U와 V는 열이 서로 직교하는 정규직교(orthonormal) 행렬입니다. 이는 U의 전치행렬과 U를 곱하거나, V의 전치행렬과 V를 곱했을 때, 단위행렬(I)이 나온다는 것을 의미합니다. 즉, U^tU = I, V^tV = I 입니다. U와 V의 열벡터들은 서로 직교하는 단위 벡터입니다. 시그마(Σ)는 대각행렬로, 대각선 상의 원소들이 특이값입니다. 이 특이값들은 양수이며, 감소하는 순서로 정렬됩니다(σ1 ≥ σ2 ≥ ⋯ ≥ 0). 이러한 특성 덕분에 SVD는 데이터의 차원 축소, 잡음 제거, 중요 특성 추출 등에 널리 사용됩니다. SVD를 통해 데이터의 구조적인 특성을 파악하고, 더 효율적인 데이터 처리 및 분석이 가능해집니다. Singular Value Decomposition (SVD)의 특성을 간략하게 요약하자면 다음과 같습니다: 입력 데이터 행렬: 크기가 m x n인 행렬로, 분석하고자 하는 데이터를 나타냅니다. 왼쪽 특이 행렬(U): 크기가 m x k인 행렬로, 입력 데이터 행렬의 행 공간에 해당하는 기저 벡터들을 포함합니다. 이 행렬의 열 벡터들은 서로 직교합니다. 대각 행렬(Σ): 크기가 k x k인 행렬로, 대각선 상의 원소들은 특이 값(입력 데이터 행렬 내 개념의 강도를 나타내는 값)을 나타냅니다. 이 특이 값들은 양수이며 내림차순으로 정렬됩니다. 오른쪽 특이 행렬(V): 크기가 n x k인 행렬로, 입력 데이터 행렬의 열 공간에 해당하는 기저 벡터들을 포함합니다. 이 행렬의 열 벡터들도 서로 직교합니다. SVD는 데이터의 차원 축소, 노이즈 제거, 중요 특성 추출 등 다양한 분야에서 활용됩니다. 이러한 특성들은 데이터의 구조적 속성을 이해하고 데이터 처리 및 분석을 보다 효율적으로 할 수 있게 합니다.

8.Interpretation of SVD

  • Singular Value Decomposition (SVD)을 통해 분해된 행렬들을 해석하는 방법은 다음과 같습니다: U 행렬 (User-to-concept similarity matrix): U 행렬은 사용자와 개념 사이의 유사성을 나타냅니다. 이 행렬의 각 열은 하나의 "개념" 또는 "요인"을 대표하며, 각 행은 사용자와 그 개념 사이의 관련성이나 유사성을 나타냅니다. 예를 들어, 추천 시스템에서는 사용자가 어떤 종류의 아이템에 더 관심이 있을지를 나타낼 수 있습니다. V 행렬 (Item-to-concept similarity matrix): V 행렬은 아이템과 개념 사이의 유사성을 나타냅니다. 이 행렬은 U 행렬과 유사하게 각 열이 개념을 나타내며, 각 행은 아이템이 그 개념과 얼마나 관련되어 있는지를 나타냅니다. 예를 들어, 특정 영화가 로맨스, 액션, 드라마 등 어떤 장르의 특성을 가지고 있는지를 분석할 때 사용될 수 있습니다. 시그마 (Σ) 행렬: 시그마 행렬의 대각선 요소는 각 개념의 "강도"를 나타냅니다. 이 값들은 개념이 데이터에 얼마나 중요한지를 나타내며, 값이 클수록 그 개념의 영향력이 크다는 것을 의미합니다. 시그마 행렬은 대각선 상에만 값이 있고, 나머지 요소는 모두 0입니다. 이 강도는 데이터 세트 내에서 개념의 중요도와 분산을 나타냅니다. SVD를 통한 이러한 분해는 데이터의 숨겨진 구조를 밝혀내고, 사용자와 아이템 사이의 관계를 더 잘 이해할 수 있게 해줍니다. 예를 들어, 추천 시스템에서는 이 정보를 사용하여 사용자에게 관심 있을 만한 아이템을 추천할 수 있습니다. Singular Value Decomposition (SVD)의 해석은 다음과 같습니다: A = UΣV^T 형식으로 분해됩니다. U (User-to-concept 행렬): U는 사용자와 개념 사이의 관계를 나타냅니다. 이 행렬에서 각 열은 하나의 '개념'을 나타내고, 각 행은 사용자가 해당 개념과 얼마나 연관되어 있는지를 보여줍니다. 예를 들어, 사용자가 어떤 유형의 상품이나 콘텐츠에 관심이 많은지를 나타낼 수 있습니다. V (Item-to-concept 행렬): V는 항목과 개념 사이의 관계를 나타냅니다. 이 행렬에서도 마찬가지로 각 열은 하나의 '개념'을 나타내고, 각 행은 항목이 해당 개념과 얼마나 연관되어 있는지를 보여줍니다. 예를 들어, 영화가 어떤 장르의 특성을 가지고 있는지 분석하는 데 사용될 수 있습니다. UΣ (사용자 개념 공간에서의 좌표): U와 Σ를 곱하면, 이는 사용자가 개념 공간에서 어디에 위치하는지를 나타내는 좌표가 됩니다. 여기서 Σ는 개념의 강도를 나타내므로, UΣ는 각 사용자가 얼마나 강력하게 각 개념과 연관되어 있는지를 공간상의 좌표로 나타냅니다. 이러한 해석을 통해, SVD는 데이터의 내재된 구조를 드러내고 사용자와 항목 사이의 관계를 더 잘 이해할 수 있게 합니다. 예를 들어, 추천 시스템에서 이 정보를 사용하여 사용자가 관심을 가질 만한 항목을 제안할 수 있습니다.

9.How to Reduce Dimensionality

  • 차원 축소는 데이터의 차원을 줄이는 과정으로, 데이터의 중요하지 않은 정보를 제거하여 데이터를 더 간단하게 만들어 주는 방법입니다. 이러한 차원 축소는 Singular Value Decomposition(SVD)을 사용하여 수행될 수 있습니다. 차원 축소를 수행하는 구체적인 방법은 다음과 같습니다: 가장 작은 특이값을 0으로 설정: 데이터의 특성을 나타내는 행렬에서 SVD를 수행하면, 특이값(Σ의 대각선 상의 값들)을 얻을 수 있습니다. 이 특이값들은 데이터의 '개념'이나 '특성'의 강도를 나타냅니다. 차원 축소를 위해서는 가장 작은 특이값들을 0으로 설정합니다. 이는 그 특이값들이 나타내는 개념이나 특성이 데이터를 재구성하는 데 있어 상대적으로 중요하지 않다는 것을 의미합니다. 재구성 오류 최소화: 가장 작은 특이값을 0으로 설정하면, 원래의 데이터 행렬 A를 완전히 재구성할 수 없게 됩니다. 하지만, 중요한 특성을 유지하면서 데이터의 크기를 줄이고자 할 때 이 방법은 유용합니다. 작은 특이값들을 제거함으로써, 중요한 '개념'이나 '특성'만을 이용해 데이터를 재구성하게 되므로, 재구성 오류를 최소화하면서 데이터의 차원을 줄일 수 있습니다. 이 방법을 통해, 데이터의 중요한 특성을 유지하면서도, 데이터의 크기를 줄일 수 있으며, 이는 계산 효율성을 높이고, 과적합(overfitting)을 줄이는 데 도움이 됩니다. 또한, 시각화와 같은 작업에서 데이터를 더 쉽게 이해할 수 있게 해줍니다.

10. Numerosity Reduction

  • 데이터의 양을 줄이는 것을 '다양성 감소(Numerosity Reduction)'라고 합니다. 이는 데이터의 볼륨을 줄이기 위해 원본 데이터보다 작은 형태의 대표적인 데이터 표현을 선택하는 과정입니다. 이를 통해 데이터 저장 공간을 절약하고, 계산 효율성을 높일 수 있습니다. 다양성 감소에는 주로 두 가지 방법이 있습니다: 매개변수적 방법(Parametric methods)과 비매개변수적 방법(Non-parametric methods). 매개변수적 방법(Parametric methods): 매개변수적 방법은 데이터가 특정 모델에 적합하다고 가정하고, 이 모델의 매개변수를 추정하여 저장하는 방법입니다. 예를 들어, 선형 회귀(Linear Regression)와 같은 회귀 모델을 사용할 수 있습니다. 이 방법은 원본 데이터 대신 모델의 매개변수만을 저장하고, 이를 통해 데이터를 재구성할 수 있습니다. 이 과정에서 이상치(Outliers)를 제외한 대부분의 데이터는 버립니다. 비매개변수적 방법(Non-parametric methods): 비매개변수적 방법은 데이터를 특정 모델에 적합시키지 않습니다. 대신, 데이터의 분포나 구조를 직접 사용하여 데이터를 요약하고 표현합니다. 주요한 비매개변수적 방법으로는 히스토그램(Histograms), 클러스터링(Clustering), 샘플링(Sampling) 등이 있습니다. 이러한 방법들은 데이터의 볼륨을 줄이면서도 데이터의 주요 특성을 보존하는 데 유용합니다. 다양성 감소는 대규모 데이터 세트를 다룰 때 특히 중요한 과정입니다. 이를 통해 데이터 분석, 머신러닝 모델의 훈련 및 예측 과정에서의 계산 복잡성과 시간을 줄일 수 있습니다.

11.What is Regression Analysis?

  • 회귀 분석은 수치 데이터를 모델링하는 통계적 방법으로, 하나 이상의 독립 변수(예측 변수)와 종속 변수(반응 변수)의 값으로 구성됩니다. 이 방법의 목적은 독립 변수와 종속 변수 사이의 관계를 찾아내는 것입니다. 회귀 분석에서는 데이터에 "최적의 적합"을 제공하기 위해 파라미터를 추정합니다. "최적의 적합"이란, 모델이 실제 데이터를 얼마나 잘 설명하는지를 나타내는 것으로, 이를 평가하기 위해 가장 일반적으로 사용되는 방법은 최소 제곱법입니다. 그러나 다른 기준도 사용되기도 합니다. 최소 제곱법은 관측된 데이터와 모델에 의해 예측된 데이터 간의 차이(잔차)의 제곱합을 최소화하여 파라미터를 추정하는 방법입니다. 이를 통해 모델의 파라미터를 결정하고, 이 모델을 사용하여 독립 변수의 새로운 값이 주어졌을 때 종속 변수의 값을 예측할 수 있습니다. 회귀 분석은 경제학, 공학, 생물학 등 다양한 분야에서 변수 간의 관계를 이해하고 예측하는 데 널리 사용됩니다.

12.Sampling

  • 샘플링은 전체 데이터 집합을 대표할 수 있는 작은 샘플을 얻는 과정입니다. 샘플링의 핵심 원칙은 데이터의 대표적인 부분집합을 선택하는 것입니다. 여러 샘플링 방법이 있지만, 가장 일반적인 방법은 다음과 같습니다: 무작위 샘플링 (Random sampling): 모든 개체가 선택될 확률이 동등한 방법입니다. 이는 모든 데이터가 공정하게 대표될 기회를 가지게 합니다. 비복원 추출 (Sampling without replacement): 한 번 선택된 객체는 모집단에서 제거됩니다. 이 방식은 같은 객체가 두 번 이상 선택되지 않도록 합니다. 복원 추출 (Sampling with replacement): 선택된 객체가 모집단에서 제거되지 않고, 동일한 객체가 여러 번 선택될 수 있습니다. 층화 샘플링 (Stratified sampling): 데이터 세트를 여러 부분으로 나누고 각 부분에서 샘플을 추출하는 방법입니다. 이 방법은 데이터가 편향되어 있을 때 사용되며, 각 층에서 대략적으로 동일한 비율의 데이터를 샘플링합니다. **무작위 샘플링 중에서도 비복원 추출 (SRSWOR; simple random sample without replacement)**은 한 번 선택된 요소가 다시는 선택되지 않는 방식으로, 데이터의 작은 부분을 공정하게 선택하기 위해 사용됩니다. 이러한 다양한 샘플링 방법들은 연구 목적이나 데이터의 특성에 따라 적절하게 선택하여 사용됩니다.

13.Stratified Sampling

  • Stratified sampling은 데이터 세트를 여러 부분으로 나누고 각 부분에서 샘플을 추출하는 방법입니다. 이 방법의 목적은 전체 데이터 세트를 대표할 수 있는 샘플을 효과적으로 선택하는 것입니다. 데이터 세트를 특정 기준에 따라 여러 '층'(strata)으로 나누고, 각 층에서 동일한 비율의 데이터를 샘플링하여 전체 데이터 세트의 다양성을 샘플에 반영합니다. Stratified sampling의 주요 장점은 데이터 세트의 중요한 특성들이 샘플에 고르게 포함되어 데이터의 대표성을 높일 수 있다는 것입니다. 예를 들어, 인구 조사 데이터에서 연령, 성별, 지역 등을 기준으로 층을 나누고 각 층에서 샘플을 추출하면, 전체 인구의 특성을 더 잘 반영하는 샘플을 얻을 수 있습니다. 이 방법은 특히 데이터가 편향되어 있거나, 특정 집단의 정보가 더 중요한 경우에 유용합니다. Stratified sampling을 통해 얻은 샘플은 연구나 분석에서 더 정확하고 신뢰할 수 있는 결과를 도출하는 데 도움을 줍니다.

14.Min-Max Normalization

  • Min-Max Normalization은 데이터의 범위를 새로운 최소값과 최대값 사이로 변환하는 과정입니다. 이 방법은 데이터의 상대적 크기와 분포를 유지하면서, 다른 범위를 가진 데이터를 표준화하여 분석이나 모델링에 용이하게 만듭니다. 예를 들어, 수입의 범위가 $12,000에서 $98,000까지라고 가정해봅시다. 이 데이터를 [0.0, 1.0] 범위로 정규화하고자 할 때, $73,600의 값이 어떻게 매핑되는지 살펴봅시다. 먼저, 일반적인 Min-Max Normalization 공식은 다음과 같습니다: [ \text{Normalized Value} = \frac{\text{Value} - \text{Min}}{\text{Max} - \text{Min}} \times (\text{New_Max} - \text{New_Min}) + \text{New_Min} ] 여기서 New_Min은 0.0이고, New_Max는 1.0입니다. 따라서, $73,600을 정규화하는 공식은 다음과 같이 됩니다: [ \text{Normalized $73,600} = \frac{$73,600 - $12,000}{$98,000 - $12,000} \times (1.0 - 0.0) + 0.0 ] 계산을 진행하면: [ \text{Normalized $73,600} = \frac{$73,600 - $12,000}{$98,000 - $12,000} = \frac{61,600}{86,000} \approx 0.716 ] 따라서, $73,600의 정규화된 값은 대략 0.716이 됩니다. 이는 새로운 [0.0, 1.0] 범위 안에서 $73,600의 상대적인 위치를 나타냅니다.

15.Z-score Normalization

  • Z-점수 정규화는 평균과 표준편차를 사용하여 데이터를 정규화하는 방법입니다. 이 방법은 각 데이터 포인트에서 평균을 빼고 그 결과를 표준편차로 나누어 계산합니다. 이렇게 하면 데이터의 분포가 평균이 0이고 표준편차가 1인 정규분포로 변환됩니다. 예를 들어, 어떤 데이터 세트의 평균(M)이 54,000이고 표준편차(σ)가 16,000인 경우를 가정해 보겠습니다. 특정 데이터 포인트 (x)의 Z-점수는 다음 공식을 사용하여 계산할 수 있습니다: [ Z = \frac{x - M}{σ} ] 예를 들어, 데이터 포인트가 70,000인 경우, Z-점수는 다음과 같이 계산됩니다: [ Z = \frac{70,000 - 54,000}{16,000} = \frac{16,000}{16,000} = 1 ] 이 결과는 해당 데이터 포인트가 평균보다 1 표준편차만큼 높다는 것을 의미합니다. Z-점수 정규화는 다양한 데이터 포인트들이 서로 다른 범위에 있을 때 이들을 통일된 척도로 비교할 수 있게 해줍니다. 이 방법은 데이터 분석, 머신러닝 모델링 등에 널리 사용됩니다.

16.Decimal Scaling Normalization

  • 데이터를 소수점 이동을 통해 정규화하는 방법.
  • 이 방법에서는 데이터 집합의 최대 절대값이 1.0 이하가 되도록 하는 가장 작은 정수 (j)를 찾아서, 각 데이터 값을 (10^j)로 나눕니다.
  • 예를 들어, 소득이 $12,000에서 $98,000 사이인 경우를 생각해봅시다.
  • 이 데이터 집합에서 최대값은 $98,000이므로, 모든 값이 1.0 이하가 되도록 하는 (j)의 값을 찾아야 합니다.
  • [|98,000|의 최대 절대값을 1.0 이하로 만들기 위해 필요한 (j)는 5입니다.
  • (왜냐하면 $98,000를 10^5로 나누면 0.98000이 되기 때문입니다.)
  • 따라서, $73,600을 정규화하려면 다음과 같이 계산합니다: [ \frac{73,600}{10^5} = 0.73600 ] 결과적으로, $73,600의 소수점 이동을 통한 정규화 값은 0.73600이 됩니다.
  • 이 방법을 사용함으로써, 모든 데이터 값들이 -1.0과 1.0 사이의 범위로 변환되어, 데이터 분석이나 기계 학습 모델의 입력으로 사용하기 더 쉬워집니다.
반응형

'Computer Science > 데이터마이닝' 카테고리의 다른 글

[Finding Similar Items] 2. Locality Sensitive Hashing  (0) 2024.04.24
[Finding Similar Items]  (0) 2024.04.23
[Data Preprocessing]  (0) 2024.04.23
[TF-IDF] 2.  (0) 2024.04.23
[TF-IDF]  (0) 2024.04.23