2026/04/24 Fri.
| O | ● |
| X | ● 머신러닝 기초 완강 |
| X | ● 개인 과제 시작 |
| O | ● |
| ↓ 주간 목표 ↓ | |
| ● 자격증 공부 ● ● 머신러닝 기초 완강 ● 머신러닝 심화 완강 |
|
⊙ 데이터 전처리&시각화 - 4강
● 데이터 시각화가 중요한 이유
- 어디에 집중을 하고 어떤 전략을 수립해야할지 방향을 제시하는 역할을
데이터를 통해 전달하는 것이 데이터 분석의 역할이며,
분석된 결과에 따라 다양한 의사결정이 이루어질 수 있다 - 의사결정을 더욱 쉽게할 수 있도록 데이터를 잘 전달해야 한다.
● 데이터 시각화의 목적
- 패턴 발견 및 이해 : 데이터 내의 숨겨진 패턴을 발견하고, 이해하는데 도움을 준다
- 의사 결정 지원 : 시각화는 복잡한 데이터를 이해하고 결정 내리는데 도움을 준다
- 효과적인 커뮤니케이션 : 분석 결과를 공유하거나 설명할 때 유용하다
● Matplotlib
- 파이썬에서 시각화를 위한 라이브러리 중 하나
- 2D 그래프를 생성하는데 주로 사용
matplotlib.pyplot
plot( ) : 2차원 데이터 시각화하긱 위해 사용
☑️ 그래프 그리기
|
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()
|
☑️ 스타일
|
ax = df.plot(x='A', y='B', color='green', linestyle='--', marker='o')
plt.show()
|
![]() |
|
# color : 그래프 색상 : 색상 이름 / RGB값으로 지정
# linestyle : 선 스타일
# '-' 실선 / '--' 대시선 / ' : ' 점선 / ' -. '점-대시선 # marker : 데이터 포인트
# 'o' 원 / ' ^ ' 삼각형 / 's' 사각형 / '+' 플러스 / 'x' 엑스 |
☑️ 범례
|
#label
ax = df.plot(x='A', y='B', color='pink', linestyle='--', marker='o', label='dataseries')
plt.show()
|
![]() |
|
#legend
ax = df.plot(x='A', y='B', color='pink', linestyle='--', marker='o')
ax.legend(['DaterSeries'])
plt.show()
|
![]() |
☑️ 축, 제목 입력
|
ax = df.plot(x='A', y='B', color='skyblue', linestyle='--', marker='o')
ax.legend(['DataSerise'])
ax.set_xlabel('x-axis Label')
ax.set_ylabel('y-axis Label')
ax.set_title('Title of the Plot')
plt.show()
|
![]() |
☑️ 텍스트 추가
|
ax = df.plot(x='A', y='B', color='green', linestyle='--', marker='o')
ax.legend(['DataSeries'])
ax.set_xlabel('X-axis Label')
ax.set_ylabel('Y-axis Label')
ax.set_title('Title of the Plot')
ax.text(1, 4.5, 'text', fontsize=12) # 특정 좌표에 텍스트 추가
plt.show()
|
![]() |
☑️ 크기
|
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
#figure사이즈를 먼저
plt.figure(figsize=(10,5))
plt.plot(x, y, color='green', linestyle='--', marker='o', label='Data Series')
plt.xlabel('X-axis Label')
plt.ylabel('Y-axis Label')
plt.title('Title of the Plot')
plt.legend()
plt.text(3, 8, 'Some Text', fontsize=12)
plt.show()
|
![]() |
● 시각화
그래프 유형 |
자료 유형 |
특징 |
Line Plot |
연속형 데이터 = 수치형 데이터 | 데이터의 변화 및 추이 - 시각화 |
Bar Plot |
범주형 데이터 | 카테고리 별 값의 크기 - 시각화 |
Histogram |
연속형 데이터 = 수치형 데이터 | 데이터 분포, 빈도, 패턴 |
Pie Chart |
점주형 데이터의 비율 | 범주별 상대적 비율을 부채꼴 모양으로 시각화 |
Box Plot |
연속데 데이터의 분포 | 중앙값, 사분위수, 최소값, 최대값, 이상치 확인 |
Scatter Plot |
두 변수 간 관계 | 변수 간 관계, 군집, 이상치 확인 |
☑️ Line Plot (선 그래프) : 연속적인 데이터 추이 변화 시각화
|
plt.plot( data_group['year'], data_group['passengers'])
# ()안에 x, y가 될 값들 넣기
plt.xlabel('Year')
plt.ylabel('Passengers')
plt.show()
|
![]() |
|
plt.plot(df['날짜'], df['값'])
plt.xlabel('date')
plt.ylabel('value')
plt.title('line plot ex')
plt.show()
|
![]() |
☑️ Bar Plot (막대그래프) vs Histogram (히스토그램)
: Bar - 각각 막대(각각 범주데이터)로 크기 비교
: Histo - 연속 데이터의 분포, 빈도 시각화
|
#bar = 바 그래프
#()안에 x,y plt.bar(df['도시'], df['인구'], color='skyblue')
plt.xlabel('city')
plt.ylabel('population')
plt.title('Bar ex')
plt.show()
|
![]() |
|
#bins : 구간설정
plt.hist(data, bins=30, color='green')
plt.xlabel('value')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.show()
|
![]() |
|
히스토그램
: x - 데이터 값의 범위 : y - 범위에서의 빈도 |
|
☑️ Pie Chart (원 그래프)
|
sizes = [30, 20, 25, 15, 10]
Label = ['A', 'B', 'C', 'D', 'E']
# 원 그래프 그리기
plt.pie(sizes, labels=Label)
plt.title('Pie Chart')
plt.show()
|
![]() |
|
sizes = [30, 20, 25, 15, 10]
Label = ['A', 'B', 'C', 'D', 'E']
# 원 그래프 그리기
plt.pie(sizes, labels=Label, autopct='%.0f%%')
# autopct : 퍼센트를 자동 계산해서 표시해줄게
# % : autopct을 시작한다
# .nf : 소수점 아래 n번째 f(실수)로 나타내겠다
# %d%% : 정수로 나타내겠다
# %% = % 기호
plt.title('Pie Chart')
plt.show()
|
![]() |
☑️ Box Plot (박스플롯)
|
plt.boxplot(sepal_lengths_list, labels=species)
plt.ylabel('Sepal Length')
plt.xlabel('Species')
plt.title('Box Plt')
plt.show()
|
![]() |
| ● 상자(Box) : 노란선 - 중앙값=Q2 - 데이터 중간에 위치한 값 / 데이터 대표값 파악에 사용 : 박스 위 - Q3 - 데이터 25% 위치한 값 : 박스 아래 - Q1 - 데이터 75% 위치한 값 사분위수 : 데이터를 4등분하는 3개의 지점한 지점 ● 수염(Whisker) : 상자의 위 아래로 연장되는 선 : 일반적으로 1.5배의 사분위 범위로 계산 : 수염 끝은 최솟값과 최댓값 ● 이상치(Outliers) : 수염 부분을 벗어나는 개별 데이터 포인트 : 패턴에서 크~게~ 벗어나는 값 |
![]() |
☑️ Scatter Plot (산점도) : 상관관계
|
plt.scatter(iris['petal_length'], iris['petal_width'])
plt.xlabel('Petal Length')
plt.ylabel('Petal width')
plt.show()
|
![]() |
|
#숫자들을 가지고 상관관계를 나탄나겠다
#상관계수를 나타내느 표
iris.corr(numeric_only=True)
|
![]() |
|
● 양의 상관관계 : 오른쪽 위 방향으로 한 변수가 증가할 때 다른 변수도 증가하는 경향
● 음의 상관관계 : 왼쪽 아래 방향으로 한 변수가 증가할 때 다른 변수는 감소하는 경향 ● 무상관 관계 : 어떤 방향도 아닌 무작위로 퍼져있을 때 ● 상관관계 강도 확인 : 점들의 모임 / 방향성 / 상관계수 계산 |
|
|
● 피어슨 상관계수(Pearson correlation coefficient)
: 두 변수간의 선형 관계를 측정하기 위한 통계적 방법 : 연속형 변수들 간의 상관관계 평가에 사용 : 범위 -1 ~ 1 사이 : 1 - 양의 상관관계 : -1 - 음의 상관관계 : 0 - 무상관 관계 |
![]() |
'내일배움캠프(QC,QA_5기)' 카테고리의 다른 글
| [내일배움캠프_QA/QC 5기] 36일차(2) _ 머신러닝 심화 1강 (1) | 2026.04.27 |
|---|---|
| [내일배움캠프_QA/QC 5기] 36일차(1) _ 머신러닝 완강 (0) | 2026.04.27 |
| [내일배움캠프_QA/QC 5기] 33일차 _ 제약 데이터 분석 (0) | 2026.04.22 |
| [내일배움캠프_QA/QC 5기] 32일차 _ 베이직문제 | 아티클 스터디 | 개인프로젝트 (1) | 2026.04.21 |
| [내일배움캠프_QA/QC 5기] 31일차 _ AI 리터러시 | 기초 통계 4강, 5강, 6강 (1) | 2026.04.20 |

















