본문 바로가기
Computer Science/기계학습

[Exploratory Data Analysis] 3. Exploratory data analysis (2)

by 큌 2024. 4. 21.
반응형

2024.04.21 - [Computer Science/기계학습] - [Exploratory Data Analysis] 3. Exploratory data analysis (1)

Content

  • Data
  • Data quality
  • Exploratory data analysis
    1. Numerical summary
    2. Graphical summary

3.14 Exploring categorical variables

  • 범주형 변수를 탐색할 때, 중심 경향성을 측정하는 한 가지 방법은 '최빈값'을 사용하는 것.
    • 최빈값은 데이터 세트에서 가장 자주 발생하는 값을 의미.
  • 범주형 데이터의 경우, 수치적 요약 통계보다는 표를 사용하여 데이터를 검토하는 것이 더 일반적.
    • 범주형 데이터를 분석할 때 자주 사용되는 표 중 하나는 '교차 분석표' 또는 '분할표'라고 불리는 것.
    • 교차 분석표는 두 개 이상의 범주형 변수 간의 관계를 살펴보기 위해 사용되며, 각 변수의 범주 조합에 따라 데이터를 분류하여 표현.
    • 이러한 표는 변수 간의 관계를 이해하고, 특정 패턴이나 경향성을 파악하는 데 유용.
    • 예를 들어, 만약 우리가 성별(남성, 여성)과 선호하는 커피 종류(아메리카노, 라떼, 카푸치노) 간의 관계를 분석하고 싶다면, 교차 분석표를 사용하여 각 성별 그룹 내에서 각 커피 종류의 선호도를 쉽게 비교할 수 있다.

3.15 2D Scatter plots

  • 2D 산점도는 두 변수 간의 관계를 시각화하는 표준 도구.
  • 이 그래프는 데이터 포인트를 두 축에 걸쳐 표시함으로써 변수들 사이의 상관관계, 패턴, 이상치 등을 파악하는 데 유용.
    • x와 y는 관련이 있는가?
      • 산점도를 통해 데이터 포인트들 사이의 관계를 직관적으로 파악할 수 있다.
      • 예를 들어, 데이터 포인트들이 우상향하는 선형 패턴을 보이면 x와 y 사이에 양의 상관관계가 있음을 의미.
    • Variance(y)는 x에 따라 달라지는가?
      • 산점도를 통해 y의 분산이 x의 값에 따라 어떻게 변하는지 관찰할 수 있다.
      • 만약 y의 분산이 x의 특정 범위에서 더 크거나 작다면, 이는 x와 y의 관계가 단순한 선형 관계를 넘어선다는 신호일 수 있다.
    • 이상치는 있는가?
      • 산점도는 이상치를 식별하는 데 탁월한 도구.
      • 대부분의 데이터 포인트가 형성하는 패턴에서 벗어난 점들은 이상치로 간주될 수 있다.
      • 이러한 이상치는 데이터의 수집, 처리 과정에서의 오류나 예외적인 현상을 나타낼 수 있다.

3.16 Spatial Data

  • 공간 데이터는 지리적 구성 요소를 포함하는 데이터를 말함.
  • 이러한 데이터는 위치 정보(예: 도시, 주, 우편번호)를 기반으로 하며, 위도와 경도 같은 좌표를 쉽게 얻을 수 있다. 
  • 공간 데이터를 활용하는 한 가지 방법은 해당 데이터를 스캐터플롯( scatterplot )으로 표현하는 것.
    • 예를 들어, 특정 지역의 상점들이 어디에 위치해 있는지, 또는 특정 사건이 발생한 지점들을 지도 위에 표시할 수 있다.
    • 이를 통해 지리적 분포와 패턴을 시각적으로 파악할 수 있으며, 이는 지역적 특성이나 공간적 상관관계를 분석하는 데 유용하다.

3.17 More than two variables

  • 데이터 분석에서 두 개 이상의 변수를 다룰 때는 창의적인 접근 방법이 필요하다.
  • 여러 변수 간의 관계를 시각화하고 분석하기 위해 다양한 기법을 사용할 수 있다.
  • 이 중 하나가 변수에 따른 조건부 시각화인데, 트렐리스(trellis) 또는 래티스(lattice) 플롯이 이에 해당.
  • 이러한 플롯은 데이터를 여러 부분집합으로 나누고, 각 부분집합에 대해 개별 그래프를 생성하여 전체 데이터 집합에서 복잡한 패턴을 파악할 수 있게 해줌.
    • 예를 들어, 지진 데이터 분석을 생각해볼 수 있다.
    • 피지 근처의 한 큐브에서 1964년 이후에 발생한 규모 4.0 이상의 1000개의 지진 이벤트가 있고, 각 지진의 심각도에 대한 데이터가 수집되었다고 가정.
    • 이 경우, 래티스 플롯을 사용하여 각 지진의 위치(위도와 경도)를 시각화하고, 지진의 심각도(예: 규모)에 따라 색상이나 기호의 크기를 조정함으로써, 지리적 분포와 심각도 간의 관계를 한눈에 파악할 수 있다.
    • 또한, 시간의 흐름에 따른 지진 발생 패턴을 분석하고자 할 때, 시간을 제3의 변수로 고려하여 각 지진의 발생 시간에 따라 색상을 달리하여 플롯에 나타낼 수 있다.
    • 이처럼 여러 변수를 조건으로 삼아 데이터를 시각화하면, 복잡한 데이터 집합 내 숨겨진 패턴과 관계를 효과적으로 이해할 수 있다.

3.18 Jittering

  • "Jittering"이란 데이터 시각화에서 자주 사용되는 기법 중 하나.
  • 특히, 개별 데이터 포인트들이 중첩되어 있을 때 그 중첩을 줄이고 데이터의 분포를 더 명확하게 보여주기 위해 사용됨.
    • 이는 데이터 포인트에 작은 무작위 변동을 추가함으로써 수행됨.
  • 예를 들어, 특정 조사에서 사람들의 나이를 묻고, 응답자들의 나이가 정수로만 기록되어 있다고 가정.
    • 이 경우, 많은 사람들이 동일한 나이를 가지고 있기 때문에, 나이에 따른 분포를 점 그래프로 나타내면, 많은 점들이 정확히 같은 위치에 중첩되어 보일 것.
    • 이러한 중첩은 데이터의 실제 분포를 왜곡시킬 수 있다.
    • Jittering을 적용하면, 각 데이터 포인트의 위치를 약간씩 무작위로 조정하여, 중첩된 점들을 분산시킴.
    • 이로 인해 각 점이 조금씩 서로 떨어진 위치에 표시되어, 데이터의 분포를 더 명확하게 파악할 수 있게 됨.
    • 하지만, jittering을 너무 많이 적용하면 데이터의 원래 분포를 왜곡할 수 있으므로 적절한 수준에서 적용하는 것이 중요.
  • Jittering은 특히 범주형 변수와 연관된 수치 데이터를 시각화할 때 유용하게 사용.

3.19 Barcharts and Spineplots

  • 막대 차트와 스파인 플롯은 데이터 시각화에서 자주 사용되는 두 가지 방법.
  • 이들은 각각 데이터를 표현하는 방식과 사용 목적에서 차이.
    • 막대 차트(Barcharts) 막대 차트는 데이터의 양을 막대의 길이를 사용해 시각적으로 표현.
      • 막대 차트는 특히 두 개 이상의 범주형 변수에 대한 연속적인 값을 비교할 때 유용.
      • 누적 막대 차트(Stacked barcharts)는 하나의 막대 내에서 여러 범주의 값을 서로 다른 색상의 막대로 쌓아 올려, 전체적인 분포와 각 범주 간의 비교를 한 눈에 볼 수 있도록 함.
      • 이는 범주형 변수 간의 관계를 파악하고 전체적인 비율을 이해하는 데 도움.
    • 스파인 플롯(Spineplots) 스파인 플롯은 비율을 잘 나타내기 위한 시각화 방법.
      • 이는 주로 범주형 데이터의 구성 비율을 보여주는 데 사용되며, 각 범주의 크기를 비율에 따라 조정하여 전체 중에서 각 부분이 차지하는 비율을 시각적으로 표현.
      • 스파인 플롯은 비율을 한눈에 파악하기 쉽게 만들어주지만, 때로는 해석하기 어려울 수 있다.
      • 이는 비율 간의 정확한 비교가 직관적이지 않을 수 있기 때문. 
  • 막대 차트는 양적인 비교에 강점을 보이며, 스파인 플롯은 데이터의 구성 비율이 중요할 때 유용하게 사용.

3.20 Networks and Graphs

  • 네트워크와 그래프의 시각화는 네트워크가 명확하게 존재하지 않는 것처럼 보일 때에도 도움.
  • 네트워크 시각화는 객체(노드)들 사이의 관계(엣지)를 그래픽으로 표현하여, 복잡한 관계나 패턴을 이해하기 쉽게 만들어 줌.
    • 예를 들어, 소셜 네트워크에서 사람들 사이의 친구 관계, 학술 연구에서의 인용 네트워크, 인터넷의 웹 페이지들 사이의 링크 구조 등이 네트워크 시각화의 대상이 될 수 있다.
  • 네트워크가 명확하지 않게 보이는 데이터에서도 네트워크 시각화를 통해 숨겨진 패턴이나 구조를 발견할 수 있다.
    • 예를 들어, 데이터 세트 내의 항목들 간의 유사성을 기반으로 한 네트워크를 구성하고 시각화함으로써, 그룹화되거나 밀접하게 관련된 항목들을 식별할 수 있다.
  • 네트워크와 그래프의 시각화는 복잡한 데이터 간의 관계를 명확하게 이해하는 데 매우 유용하며, 데이터 분석가들이 데이터 내의 숨겨진 패턴을 발견하고 설명하는 데 도움.

3.21 EXAMPLE ANALYSIS

Popular Data Repository

• Kaggle dataset (http://www.kaggle.com/datasets)

• UC Irvine ML repository (http://archive.ics.uci.edu/ml)

• Amazon AWS 데이터셋(https://registry.opendata.aws)

• AI허브 (https://aihub.or.kr/)

• Data Portals(http://dataportals.org)

• Open Data Monitor(http://opendatamonitor.eu)

• Quandl(http://quandl.com)

• 위키백과 머신러닝 데이터셋 목록(https://goo.gl/SJHN2k)

• Quora.com(https://homl.info/10)

• 데이터셋 서브레딧 subreddit(http://www.reddit.com/r/datasets)

 

 

데이터 훑어보기

• pandas의 데이터프레임 활용 – head(), info(), describe(), hist() 등을 사용하여 데이터 구조 훑어보기

 

 

 

 

정리 문제 

Q1. 데이터 테이블에서 결측값을 처리하는 방법

  • 결측값 제거:
    • 결측값이 포함된 행이나 열을 데이터셋에서 제거.
    • 이 방법은 결측값이 매우 적을 때 유용할 수 있지만, 많은 데이터를 잃을 수 있다는 단점이 있다.
  • 평균값, 중앙값 또는 최빈값으로 대체:
    • 수치형 데이터의 경우, 결측값을 해당 열의 평균값, 중앙값 또는 최빈값으로 대체할 수 있다.
    • 범주형 데이터의 경우, 최빈값으로 대체하는 것이 일반적.
  • 예측 모델을 사용한 대체:
    • 결측값을 예측하기 위해 다른 변수들을 사용하는 통계 모델(예: 선형 회귀, 결정 트리 등)을 구축할 수 있다.
  • 다중 대체 방법:
    • 결측값을 여러 번 대체하여 결측값의 불확실성을 고려하는 방법.
    • 각 대체별로 분석을 실시한 후 결과를 종합한다.

Q2. 여러 데이터 분포를 비교하기 위해 박스플롯이나 히스토그램 중 어느 것을 사용하는 것이 더 좋은가?

  • 박스플롯과 히스토그램은 데이터 분포를 시각화하는 데 사용되지만, 그 목적과 제공하는 정보가 다름.
  • 박스플롯:
    • 이상치를 확인하고 데이터의 분포(중앙값, 사분위수 등)를 요약하여 보여줌.
    • 여러 그룹의 데이터 분포를 간단히 비교할 때 유용.
  • 히스토그램:
    • 데이터의 분포 형태(예: 정규 분포, 왜도, 첨도 등)를 보여줌.
    • 데이터가 어떻게 분포되어 있는지 자세히 살펴볼 때 적합.
  • 따라서 여러 데이터 분포를 간단히 비교하고 이상치를 확인하고 싶다면 박스플롯을, 데이터의 분포 형태를 자세히 파악하고 싶다면 히스토그램을 사용하는 것이 좋다.

Q3. 이미지 분류기(예측 모델)를 구축하여 다섯 가지 다른 동물('개', '고양이', ..., '토끼')을 구별하려면 각 이미지의 실제 레이블을 어떻게 표현해야 하는가?

  • 이미지 분류 문제에서는 일반적으로 원-핫 인코딩 방식을 사용하여 실제 레이블을 표현.
  • 원-핫 인코딩은 레이블을 범주의 수만큼의 길이를 가진 벡터로 표현하고, 해당 범주에 해당하는 위치만 1로 설정하며 나머지는 0으로 설정하는 방법.
    • 예를 들어, 다섯 가지 동물을 구별하는 경우 각 동물은 다음과 같이 표현될 수 있다:
      • 개: [1, 0, 0, 0, 0]
      • 고양이: [0, 1, 0, 0, 0]
      • (다른 동물1): [0, 0, 1, 0, 0]
      • (다른 동물2): [0, 0, 0, 1, 0]
      • 토끼: [0, 0, 0, 0, 1]
  • 이 방식을 사용하면 분류 모델이 각 이미지가 어떤 동물 범주에 속하는지 명확하게 구별 가능.
  • 모델의 출력층에서는 softmax 함수 등을 사용하여 각 범주에 속할 확률을 계산하게 됨.
  • 이러한 확률 분포를 통해 가장 높은 확률을 가진 범주가 모델이 예측한 레이블이 됨.
  • 원-핫 인코딩은 이러한 분류 문제에서 레이블을 명확하고 효율적으로 표현할 수 있는 방법으로 널리 사용.
반응형