TIL(3W4D)[데이터 전처리&시각화_4주차]

최유정·2025년 1월 2일
0
post-thumbnail

| 4주차

1. Matplotlib

: 파이썬에서 시각화를 위한 라이브러리 중 하나.

  • 2D 그래픽 생성에 주로 사용
  • 선 그래프, 막대 그래프, 히스토그램, 산점도, 파이 차트 등 다양한 시각화 방식을 지원.
  • 그래프를 색상, 스타일, 레이블, 축 범위들을 조절해 원하는 형태로 시각화 가능.

  • 실행
import matplotlib.pyplot as plt


2. 그래프 생성에 사용되는 도구(선 그래프, Line)

  • 그래프 생성 및 설정
plt.plot(x,y)                # 2차원 선 그래프 생성
plt.xlabel('X-axis')         # x축 라벨링
plt.ylabel('Y-axis')         # y축 라벨링
plt.title('Example')         # 그래프 이름 라벨링
plt.show()                   # 그래프 구현

  • 스타일 설정

    • color='' ; 색깔 변경
    • linestyle='' ; 선 스타일 변경
    • marker='' ; 각 좌표에 표시되는 마커 모양 변경

  • 범례 및 텍스트 추가

    • label=''
    • 범례에 대한 값으로 그래프 생성하는 예시
df=pd.DataFrame({
	'A'=[1,2,3,4,5]
    'B'=[5,4,3,2,1]
})

ax=df.plot(X='A', y='B', color='red', linestyle='--', marker='o')
ax.legend(['Data Series'])
ax.set_xlabel('')
ax.set_ylabel('')
ax.set_title('')
ax.text(x좌표, y좌표, 'text', fonsize=12)
plt.show()

  • 그래프 크기 변경
plt.figure(figsize=(가로 길이,세로 길이))
  • 그 외 그래프 생성 및 크기 변경 방법
  1. plt.subplots(): Matplotlib에서 하나의 Figure와 그 안에 포함된 Axes(하위 플롯)를 생성하는 함수.
    fig는 Figure 객체이고, ax는 Axes 객체. ax를 통해 그래프를 그릴 수 있음.

  2. fig, ax:

    • fig는 그림 전체(플롯 영역 포함)를 의미.
    • ax는 개별 그래프(플롯)가 그려지는 영역.
fig, ax = plt.subplots(figsize=(8, 4))  # 8인치 x 4인치 크기

ax.plot([1, 2, 3, 4], [10, 20, 25, 30], label='Sample Line')
ax.set_title('Example Plot')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.legend()

plt.show()


3. 그 외 그래프 생성

1. 막대그래프(Bar): 범주형 데이터 표현. 각각의 값을 비교할 때 활용.

plt.bar(x,y)
#그 아래 라벨링은 방법 똑같음

2. 히스토그램(Histogram): 연속적인 데이터의 분포를 표현. 데이터 빈도를 시각화해서 정보를 얻을 때 활용.

import numpy as np					# 넘파이를 실행해서 랜덤하게 1000개의 데이터를 생성해낸 것

data=np.ramdom.randn(1000)
plt.hist(data, bins=구간 분포 범위)
#그 아래 라벨링은 방법 똑같음

3. 파이(Pie): 여러 범주형 데이터들간의 분포가 어떤 비율(백분율)로 존재하는 지 확인할 때 활용.

plt.pie(sizes=[], lables=[])
plt.title('')

4. Box Plot: 데이터의 분포와 이상치를 보여줘서 통계학적 특징을 보여줄 때 활용. 중앙값, 최솟값, 최댓값, 아웃라이어가 표현됌.

plt.boxplot(x=나타내고자 하는 데이터 분류 기준 개수, y=각 기준에 포함되는 데이터 개수, data)

5. Scatter plot: 두 변수 간의 관계 표시. 변수들 간의 상관분석이나 관계성 파악 시 활용.

plt.scatter(x,y)
#그 아래 라벨링은 방법 똑같음
# string이 있는 데이터들간의 상관관계 보는 방법
data.corr(numeric_only=True) # or 스트링으로도 상관 분석 가능하게 데이터 전처리 필요.    

6. 상관관계 요약

  • 피어슨 상관계수(Pearson correlration coefficient)
    : 두 변수 간의 선형적 관계를 측정하기 위한 통계적 방법 중 하나. 주로 연속형 변수들 간의 상관 관계를 평가하는 데 사용.
    • 범위: -1 < p < 1
    • 양의 상관관계: 1에 가까울수록 강한 양의 선형관계
    • 음의 상관관계: -1에 가까울수록 강한 음의 선형관계
    • 무상관관계: 0에 가까울수록 약한 관계
    • 주의점: 강한 상관관계를 가진다고 해서, 꼭 인과관계인 것은 아니다.




4. 정리

  • 그래프 유형
그래프 유형자료 유형특징
Line plot연속형 데이터데이터의 변화 및 추이를 시각화
Bar plot범주형 데이터카테고리 별 값의 크기를 시각적으로 비교
Histogram연속형 데이터데이터 분포, 빈도, 패턴 등을 이해
Pie chart범주형 데이터의 비율범주별 상대적 비율을 부채꼴 모양으로 시각화
Box plot연속형 데이터의 분포중앙값, 사분위수, 최소값, 최대값, 이상치 확인
scatter plot두 변수 간의 관계변수 간의 관계, 군집, 이상치 등 확인

  • Pandas 라이브러리
라이브러리설명
Matplotlib파이썬의 기본 시각화 라이브러리. 다양한 종류의 그래프 생성이 가능하고 다양한 커스터마이징 기능을 제공. 또한 DataFrame에서 바로 시각화할 수 있는 기능 제공. DataFrame.plot을 통해서 다양한 종류의 그래프 생성 가능.
SeabornMatplotlib을 기반으로 만들어진 통계 데이터 시각화를 위한 라이브러리. 히트맨, 카운트 플롯, 상자 그림, violin plot과 같은 통계적 그래프 생성에 특화. 사용하기 쉬운 API 제공.
Plotly인터랙티브한 그래프 생성을 위한 라이브러리. 웹 기반의 대화형 시각화 제공. 사용자의 상호작용에 따라 데이터를 동적으로 조정할 수 있는 장점을 가지고 있음.

  • 데이터 시각화 툴
특징/도구TableauGoogle Data StudioAmazon QuickSight
사용자 인터페이스직관적이과 사용자 친화적사용하기 쉽고 간단한 AI직관적이고 쉽게 사용
연동 가능한 데이터 소스다양한 데이터 소스와 연동다양한 데이터 소스와의 연동 가능AWS 데이터와의 연동 가능
시각화 기능다양한 시각화 및 차트옵션 제공다양한 시각화 기능 제공다양한 시각화 옵션 제공
대시보드 공유/협업공유 및 협업 기능 지원공유 및 협업 기능 제공협업 및 공유 기능 기능
클라우드 기반데스크톱 및 클라우드 기능 제공구글 클라우드 기반AWS 클라우드 기반
확장성확장성이 좋음구글 서비스와 연동하여 확장 가능AWS 생태계 내에서 확장 가능


5. 데이터 홀로서기

  1. 반복 연습이 답! ; 10 minutes to pandas 받아쓰기
  2. 구글링을 적절히 잘 사용하자!
  3. 전처리와 시각화를 배우고 나서...
    • 목표 설정: 무엇을 위해 데이터 전처리와 시각화가 필요한가?
    • 예상 산출물 정의: 데이터 처리 및 시각화를 통해 나타날 예상 결과물은 무엇인가?
    • 'As-is' vs 'To-be' 생각하기: 현재 문제와 상황을 인지하고 개선 방향성을 설정하라.

0개의 댓글