2025 내일배움캠프 QAQC_2기

2025 내일배움캠프 QAQC_2기 본캠프 15일차

mingdoremi 2025. 5. 30. 20:25

안녕하세요!! 오늘은 본캠프 15일차입니다!!

오늘은 데이터 전처리 & 시각화 4주차 강의를 들었습니다!!

<데이터 시각화 >

데이터 시각화가 중요한 이유

  1. 바다 오염의 주범은 빨대다 ?
    • 요즘은 카페에서 종이빨대를 사용하는 것을 흔히 볼 수 있습니다.
    • 이는 바다거북이가 코에 빨대가 박혀 고통스러워하는 영상이 확산되며 환경오염에 대한 인식을 개선하기 위해 여러 환경단체 및 기관에서 노력한 결과입니다.
  2. 그러나, 바다 오염의 주범인 바다쓰레기를 줄이기 위해서 빨대 사용금지가 얼마나 효과가 있을까?
    • 데이터 분석가로서 실제 바다 오염을 줄이는 프로젝트를 맡게되었다고 가정해봅시다.
    • 실제 데이터를 살펴보면, 전세계 바다 쓰레기의 0.03%가 플라스틱(빨대)로 인한 것이고, 가장 많이 문제가 되고 있는 것은 46%를 차지하는 어망(어업도구)라는 것을 알 수 있습니다.
  3. 실제 바다 쓰레기의 약 50% 어업활동으로 인해 발생했다는 사실을 바탕으로 어떤 의사결정을 할 수 있을까?
    • 효율/효과 측면에서 우리는 어업활동에서 발생하는 바다쓰레기를 줄이는 방안을 모색해야한다고 분석결과를 전달할 수 있습니다.
    • 어쩌면, 종이빨대를 만드는 예산을 어업활동에서 쓰레기가 발생하지 않도록 개선시키는 것에 활용하는 것도 제안할 수 있을 것입니다.
    • 즉, 어디에 집중을 하고 어떤 전략을 수립해야할지 방향을 제시하는 역할을 데이터를 통해 전달하는 것이 데이터 분석의 역할이며, 분석된 결과에 따라 다양한 의사결정이 이루어질 수 있다는 사실을 말씀드립니다.
  4. 의사결정을 더욱 쉽게할 수 있도록 저희는 데이터를 잘 전달해야합니다.
    • 데이터 시각화는 이러한 의사결정을 잘할 수 있게 도와줄 수 있습니다
    • 예를 들어, 정말로 (예산부족으로) 빨대를 줄이기 위해 노력하는 활동에 투입되는 예산을 어업활동에서 발생하는 쓰레기를 줄이는 것에 사용할 수 밖에 없는 경우에, 그것의 효과와 영향이 크다는 것을 인식시키고 설득시킬때 데이터 시각화는 매우 중요한 요소가 됩니다.
    • 전체 바다쓰레기의 100% 중 0,03%와 46%의 비중과 투입되는 예산대비 얻게될 기대효과에 대해 시각화된 자료와 함께 분석결과를 전달할 수 있다면, 여러분의 분석은 큰 설득력을 갖추게 될 것입니다.

데이터 시각화의 목적

  1. 패턴 발견 및 이해:
    • 데이터 시각화는 데이터 내의 숨겨진 패턴을 발견하고, 이해하는 데 도움을 줍니다. 그래프나 차트를 통해 데이터의 특징을 시각적으로 파악할 수 있습니다.
    • 💡 사례)
    • 시간에 따른 매출 추이 분석:
      • 시간(월, 분기, 연도 등)에 따른 매출 추이를 선 그래프로 시각화하면, 매출의 계절적 변동이나 특정 시기의 매출 증감 패턴을 쉽게 파악할 수 있습니다. 이를 통해 특정 시기에 매출이 감소하는 이유나 증가하는 이유를 이해할 수 있습니다.
      • 지역별 매출 비교 분석:
        • 지도를 이용하여 지역별 매출을 시각화하면, 각 지역의 매출 패턴을 파악할 수 있습니다. 지역 간의 매출 차이나 특정 지역에서의 매출 높은 이유를 이해할 수 있습니다.
        • 제품 카테고리별 매출 분석:
          • 막대 그래프나 원형 차트를 사용하여 제품 카테고리별 매출을 시각화하면, 어떤 카테고리가 가장 많은 매출을 올리는지 파악할 수 있습니다. 이를 통해 인기 있는 제품 카테고리를 파악하거나, 특정 카테고리의 성장세를 이해할 수 있습니다.
          • 고객 구매 패턴 분석:
            • 히스토그램이나 상자 그림(Box Plot)을 사용하여 고객의 구매 패턴을 시각화하면, 평균 구매액, 최고/최저 구매액, 이상치 데이터 등을 파악할 수 있습니다. 이를 통해 고객들의 구매 습관이나 행동을 이해할 수 있습니다. 
  2. 의사 결정 지원:
    • 시각화는 복잡한 데이터를 이해하고 결정을 내리는 데 도움을 줍니다. 시각화를 통해 정보를 명확하게 전달하여 의사 결정 과정을 지원합니다.
    • 💡 사례)
    • 마케팅 캠페인 효과 분석:
      • 시간에 따른 매출 또는 고객 유입량의 변화를 추적하는 선 그래프를 사용하여, 마케팅 캠페인을 실행한 시점 이후의 변화를 확인할 수 있습니다. 이를 통해 마케팅 캠페인이 실제로 기업의 매출 또는 고객 유입에 어떤 영향을 미치는지를 시각적으로 확인할 수 있습니다.
      • 캠페인 채널별 효과 비교:
        • 막대 그래프나 원형 차트를 사용하여 각 마케팅 캠페인 채널(소셜미디어, 이메일, 광고 등)별로 매출이나 고객 획득량을 비교할 수 있습니다. 이를 통해 어떤 채널이 가장 효과적인지 판단하고, 자원을 최적으로 분배할 수 있습니다.
        • 고객 반응 분석:
          • 히스토그램이나 상자 그림을 사용하여 특정 마케팅 캠페인에 참여한 고객들의 반응을 분석할 수 있습니다. 고객들의 평균 구매액 증가, 반응 시간의 변화 등을 시각화하여 캠페인의 효과를 좀 더 깊이 있게 이해할 수 있습니다.
          • A/B 테스트 결과 시각화:
            • A/B 테스트 결과를 바탕으로 한 그래프를 통해, 다른 버전의 마케팅 캠페인이나 웹페이지 등의 변화가 어떻게 고객 행동에 영향을 미치는지 확인할 수 있습니다. 이를 통해 어떤 디자인 또는 콘텐츠가 더 효과적인지를 시각적으로 확인할 수 있습니다. 
  3. 효과적인 커뮤니케이션:
    • 시각화는 데이터 분석 결과를 다른 사람들과 공유하거나 설명할 때 유용합니다. 데이터를 시각적으로 보여주면 이해하기 쉽고 기억하기 쉬운 형태로 전달할 수 있습니다.
    • 💡 사례)
    • 보고서와 프레젠테이션:
      • 다양한 차트, 그래프, 히트맵 등을 사용하여 데이터 분석 결과를 시각적으로 나타내면 보고서나 프레젠테이션을 더 효과적으로 구성할 수 있습니다. 이를 통해 빠르고 명확하게 데이터의 핵심 내용을 전달할 수 있습니다.
      • 의사 결정자와의 논의:
        • 데이터 시각화를 통해 의사 결정자들과의 논의를 용이하게 할 수 있습니다. 시각적인 그래프나 차트를 보여주면 의사 결정자들이 데이터를 더 쉽게 이해하고 빠르게 의사 결정을 할 수 있습니다.
        • 다양한 대중에게의 정보 전달:
          • 쉽게 이해할 수 있는 그래픽을 사용하여 데이터 분석 결과를 블로그, 보고서, 뉴스레터 등을 통해 다양한 대중에게 전달할 수 있습니다. 이를 통해 보다 많은 사람들에게 데이터에 대한 인사이트를 제공할 수 있습니다.
          • 소셜미디어 및 인터넷 활용:
            • 효과적인 데이터 시각화는 소셜미디어 상에서 데이터 기반의 이야기를 공유하는 데 유용합니다. 인포그래픽, 그래픽 이미지 등을 활용하여 복잡한 데이터를 간결하게 전달하여 더 많은 관심을 끌 수 있습니다.
            • 간결하고 효과적인 커뮤니케이션:
              • 시각화를 통해 데이터의 핵심을 간결하게 전달할 수 있으며, 이를 통해 복잡한 정보를 시각적으로 이해하기 쉽게 만들어줍니다. 이는 전문가와 비전문가 모두가 쉽게 이해하고 의사 소통을 할 수 있게 돕습니다. 

Matplotlib 이란?

  • 파이썬에서 시각화를 위한 라이브러리 중 하나로, 다양한 종류의 그래프를 생성하기 위한 도구를 제공
    • 2D 그래픽을 생성하는 데 주로 사용
    • 선 그래프, 막대 그래프, 히스토그램, 산점도, 파이 차트 등 다양한 시각화 방식을 지원
    • 그래프를 색상, 스타일, 레이블, 축 범위 등을 조절하여 원하는 형태로 시각화할 수 있음
    • import matplotlib.pyplot as plt

      # 데이터 생성
      x = [1, 2, 3, 4, 5]
      y = [2, 4, 6, 8, 10]

      # 선 그래프 그리기
      plt.plot(x, y)
      plt.xlabel('X-axis')
      plt.ylabel('Y-axis')
      plt.title('Example Plot')
      plt.show()

1) 그래프를 그리기 위한 도구들

- Matplotlib.pyplot 에서 plot() 를 활용하는 법

pandasplot() 메서드는 DataFrame 객체에서 데이터를 시각화하는데 사용됩니다. 예를 들어, 선 그래프를 그리기 위해서는 plot() 메서드를 호출하고 xy 인수에 각각 x축과 y축에 해당하는 열을 지정합니다.

ex) import pandas as pd
import matplotlib.pyplot as plt

# 샘플 데이터프레임 생성
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1]
}
df = pd.DataFrame(data)

# 선 그래프 그리기
df.plot(x='A', y='B')
plt.show()

스타일 설정하기

plot() 메서드를 호출할 때 다양한 스타일 옵션을 사용하여 그래프의 스타일을 설정할 수 있습니다. color, linestyle, marker 등의 파라미터를 사용하여 선의 색상, 스타일, 마커를 변경할 수 있습니다.

  • Color(색상):
    • 색상은 문자열로 지정할 수 있으며, 'blue', 'green', 'red', 'cyan', 'magenta', 'yellow', 'black', 'white'와 같은 기본 색상 이름 또는 RGB 값을 직접 지정할 수 있습니다.
  • Linestyle(선 스타일):
    • 선의 스타일은 '-'(실선), '--'(대시선), ':'(점선), '-.'(점-대시선) 등으로 지정할 수 있습니다.
  • Marker(마커):
    • 마커는 데이터 포인트를 나타내는 기호로, 'o'(원), '^'(삼각형), 's'(사각형), '+'(플러스), 'x'(엑스) 등 다양한 기호로 지정할 수 있습니다.

- 범례 추가하기

legend() 메서드를 사용하여 그래프의 범례를 추가할 수 있습니다.

#1 label
ax = df.plot(x='A', y='B', color='green', linestyle='--', marker='o', label='Data Series')

#2 legend
ax.legend(['Data Series'])


#1번 또는 2번 방법으로 범례를 추가할 수 있습니다.
plt.show()

 

- 축 , 제목 입력하기

set_xlabel(), set_ylabel(), set_title() 메서드를 사용하여 x축과 y축의 레이블 및 그래프 제목을 추가할 수 있습니다.

ax.set_xlabel('X-axis Label')
ax.set_ylabel('Y-axis Label')
ax.set_title('Title of the Plot')


plt.show()

 

- 텍스트 추가하기

text() 메서드를 사용하여 그래프에 특정 위치에 텍스트를 추가할 수 있습니다.

ax.text(3, 3, 'Some Text', fontsize=12)

plt.show()

 

- 한꺼번에 설정하는 방법 !

  • plot() 함수에 color, linestyle, marker, label 등의 파라미터로 스타일과 범례를 적용
  • xlabel(), ylabel(), title(), legend(), text() 함수들을 사용하여 각각의 설정을 추가

- 그래프를 크게 만드는 법

plt.figure() 함수를 사용하여 Figure 객체를 생성하고, 이후에 figsize 매개변수를 이용하여 원하는 크기로 설정할 수 있음

 

그래프 자료 유형

1) Line

Line Plot (선 그래프)

  • 선 그래프는 데이터 간의 연속적인 관계를 시각화하는 데에 적합합니다. 주로 시간의 흐름에 따른 데이터의 변화를 보여줍니다.
    • 자료 유형: 연속적인 데이터의 추이를 보여줄 때 사용됩니다.
    • 활용: 시간에 따른 데이터의 변화, 추세를 보여줄 때 효과적입니다.
     

2) Bar vs Histogram

Bar Plot (막대 그래프)

  • 막대 그래프는 범주형 데이터를 나타내며, 각각의 막대로 값의 크기를 비교하는 데에 사용됩니다.
    • 자료 유형: 범주형 데이터 간의 비교를 나타낼 때 주로 사용됩니다.
    • 활용: 카테고리 별로 값의 크기나 빈도를 시각적으로 비교할 때 유용합니다.

Histogram (히스토그램)

  • 히스토그램은 연속된 데이터의 분포를 보여줍니다. 주로 데이터의 빈도를 시각화하여 해당 데이터의 분포를 이해하는 데 사용됩니다.
    • 자료 유형: 연속형 데이터의 분포를 보여줄 때 사용됩니다.
    • 활용: 데이터의 빈도나 분포, 패턴을 이해하고자 할 때 유용합니다.

Bar vs Histogram 의 차이

  • 데이터를 시각화하는 목적이 다른 그래프입니다.
  • 막대 그래프는 주로 범주형 데이터의 값을 비교하는데 사용되고, 히스토그램은 연속적인 데이터의 분포를 시각화하는 데 사용됩니다.

3) Pie

Pie Chart (원 그래프)

  • 원 그래프는 전체에서 각 부분의 비율을 보여줍니다. 주로 카테고리별 비율을 비교할 때 사용됩니다.
    • 자료 유형: 범주형 데이터의 상대적 비율을 시각화하는 데 사용됩니다.
    • 활용: 전체에 대한 각 범주의 비율을 보여줄 때 유용하며, 주로 비율을 비교하는 데 사용됩니다.

4) Box plot

Box Plot (박스 플롯)

  • 박스 플롯은 데이터의 분포와 이상치를 시각적으로 보여줍니다. 중앙값, 사분위수, 최솟값, 최댓값 등의 정보를 제공하여 데이터의 통계적 특성을 파악하는 데 사용됩니다.
    • 자료 유형: 연속형 데이터의 분포와 이상치를 시각화하는 데 주로 사용됩니다.
    • 활용: 데이터의 중앙값, 사분위수(25%, 50%, 75% 위치의 값), 최소값, 최대값, 이상치를 한눈에 파악할 수 있습니다.

  • 박스 플롯의 구성 요소:
    1. 상자(Box): 데이터의 중앙값과 사분위수(25%와 75%)를 나타냅니다. 상자의 아래쪽 끝은 25%의 값(1사분위수), 상자의 윗쪽 끝은 75%의 값(3사분위수)을 나타냅니다. 상자의 중앙에 위치한 선은 중앙값을 나타냅니다.
    2. 수염(Whisker): 상자의 위 아래로 연장되는 선으로, 일반적으로 1.5배의 사분위 범위로 계산되는데, 이 범위를 넘어가는 값은 이상치(outlier)로 간주됩니다. 수염의 끝은 최솟값과 최댓값을 나타냅니다.
    3. 이상치(Outliers): 수염 부분을 벗어나는 개별 데이터 포인트로, 일반적인 범위를 벗어나는 값들을 의미합니다. 이상치는 박스 플롯에서 독립적으로 표시됩니다.
  • 박스 플롯의 활용:
    • 데이터의 분포와 중앙값, 이상치를 한눈에 파악할 수 있습니다.
    • 다수의 그룹 또는 범주 간의 데이터 분포를 비교하는 데 유용합니다.
    • 통계적으로 중요한 데이터의 특성을 시각적으로 표현할 때 활용됩니다.

5) Scatter

Scatter Plot (산점도)

  • 산점도는 두 변수 간의 관계를 점으로 표시하여 보여주는 그래프입니다.
  • 두 변수 간의 상관 관계를 보여주고, 각 점이 데이터 포인트를 나타내며, 그 점들이 어떻게 분포되어 있는지 시각적으로 확인할 수 있습니다.
    • 자료 유형: 두 변수 간의 관계 및 상관관계를 보여줄 때 사용됩니다.
    • 활용: 변수 간의 관계, 군집, 이상치를 확인하고자 할 때 유용합니다.

  • 상관관계 확인하기
    1. 양의 상관관계: 산점도에서 점들이 오른쪽 위 방향으로 일직선으로 분포되어 있을 때를 말합니다. 즉, 하나의 변수가 증가할 때 다른 변수도 증가하는 경향이 있습니다.
    2. 음의 상관관계: 산점도에서 점들이 왼쪽 위 방향으로 일직선으로 분포되어 있을 때를 말합니다. 하나의 변수가 증가할 때 다른 변수는 감소하는 경향이 있습니다.
    3. 무상관 관계: 산점도에서 점들이 어떤 방향으로도 일직선으로 분포하지 않고 무작위로 퍼져 있을 때를 말합니다. 즉, 두 변수 간에는 상관관계가 거의 없는 것으로 보입니다.
  • 상관관계의 강도 확인하기
    1. 점들의 모임: 점들이 더 밀집된 곳은 상관관계가 높다는 것을 나타낼 수 있습니다.
    2. 점들의 방향성: 일직선에 가까운 분포일수록 상관관계가 강할 가능성이 높습니다.
    3. 상관계수 계산: 피어슨 상관계수와 같은 통계적 방법을 사용하여 상관관계의 정도를 수치적으로 계산할 수 있습니다.

피어슨 상관계수란?

  • 피어슨 상관계수(Pearson correlation coefficient)는 두 변수 간의 선형적인 관계를 측정하기 위한 통계적인 방법 중 하나입니다. 주로 연속형 변수들 간의 상관관계를 평가하는 데 사용됩니다.
  • 피어슨 상관계수의 특징:
    • 범위: -1에서 1 사이의 값을 가집니다.
    • 양의 상관관계: 1에 가까울수록 강한 양의 선형관계를 나타냅니다.
    • 음의 상관관계: -1에 가까울수록 강한 음의 선형관계를 나타냅니다.
    • 무상관 관계: 0에 가까울수록 선형관계가 거의 없거나 약한 관계를 가집니다.

 

오늘도 너무너무 수고하셨습니다~!~!

오늘은 개인 과제가 또 나와서 개인과제도 좀 풀어봤습니다!

다음주까지라 바쁘네용 큐큐

그래도 내일은 주말이에요!!!!!

적당히 쉬면서 잘 보내야겠어요!