2023년 6월 업데이트

 

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 머신러닝 강좌 - 15. Matplotlib으로 데이터 시각화(visualization)를 진행토록 하겠습니다.

예제 노트북 파일 : 15. Matplotlib으로 데이터 시각화(visualization)

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 강좌 내용을 단계별로 copy&paste 해서 실행하시면 됩니다. 또는, Jupyter notebook을 실행하고 단계별로 실행하셔도 됩니다.

예를 들어, 15_matplotlib.ipynb를 생성하고 vscode에서 실행하면, Jupyter notebook이 실행됩니다.(vscode에서 실행도 가능하며, 웹브라우저에서도 실행 가능합니다.)

또는, github 리포지토리를 clone 하신 후, vscode나 Jupyter notebook에서, 위의 노트북 파일을 열면 됩니다. 
 

상세한 환경 구성이 필요하시다면, 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 문서를 참조해 WSL, vscode, conda, jupyter notebook 설정을 모두 먼저 완료하시길 권장해 드립니다.

 

 

 

TL;DR

Matplotlib은 데이터 시각화 기능을 제공하는 라이브러리입니다. 데이터를 DataFrame에 로드한 후, plot 메서드를 사용하여 scatter plot을 그릴 수 있습니다. 상관 관계가 낮은 경우 점들이 흩어지고, 상관 관계가 있는 경우 패턴이 보입니다. 이를 통해 데이터의 특성을 시각적으로 확인할 수 있습니다.
 

 

Python 머신러닝 강좌 - 15. Matplotlib으로 데이터 시각화(visualization)

 

Matplotlib으로 데이터 시각화

Matplotlib는 데이터를 시각화에 사용할 수 있는 차트 그리기 기능을 제공합니다.

일반적인 도구와 함수

  • pyplot MATLAB과 유사한 plot을 그리는 기능을 제공합니다.
  • pyplot.plot 그래프 도식화(plot) 기능을 제공합니다.
  • pyplot.show 그래프와 같은 이미지를 디스플레이합니다.
  • pyplot.scatter는 산포도(scatter plot)를 생성할 때 사용되며, 두 데이터셋의 관계를 디스플레이할 때 보통 사용합니다.

많은 경우, 그래프는 데이터를 시각화하는 최선의 방법입니다.

matplotlib 라이브러리를 사용하면 데이터를 시각화하는 그래프를 쉽게 그릴 수 있습니다.

데이터를 시각화하려면 데이터를 DataFrame에 로드해야 합니다.

 

import pandas as pd

# Load our data from the csv file
delays_df = pd.read_csv('Lots_of_flight_data.csv') 

 

 

matplotlib 라이브러리를 설치합니다. 윈도에서는 anaconda 명령창에서, WSL(리눅스)에서는 bash 쉘에서 수행합니다.

잊지 마시고, 반드시 노트북을 실행하는 conda 환경에 설치해야 합니다.

pip install matplotlib

 

 

plot을 디스플레이하려면 matplotlib 라이브러리를 import 해야 합니다.

import matplotlib.pyplot as plt

 

Data science에서 사용되는 일반적인 plot은 두 column들 사이의 관계를 확인할 때 사용하는 산포도(scatter plot)입니다. 만약, 점(point)들이 사방에 흩어져있는 경우, 두 column들은 상관관계(correlation)가 적은 것이고, 선과 유사한 패턴이 보이면 상관관계가 있는 것입니다.

 

DataFrame의 plot 메서드를 사용하여 scatter plot을 그릴 수 있습니다.

  • kind - 그리려 하는 그래프의 타입
  • x - x로 표시할 값
  • y - y로 표시할 값
  • color - 그래프 점(point)에 사용할 색상
  • alpha - 투명도 - 산점도에서 점의 밀도(density)를 표시하는 데 유용합니다.
  • title - 그래프의 제목
# 비행 거리(DISTANCE)와 비행기 도착 딜레이 시간(ARR_DELAY) feature 사이에 상관관계가 있는지 체크
delays_df.plot(
               kind='scatter',
               x='DISTANCE',
               y='ARR_DELAY',
               color='blue',
               alpha=0.3,
               title='Correlation of arrival and distance'
              )
plt.show()

 

matplotlib_lecture.png

점들이 흩어져있습니다. - 상관관계가 낮습니다.

 

# 항공편 출발 시간(DEP_DELAY)과 도착 딜레이 시간(ARR_DELAY) 사이에 상관관계가 있는지 체크
delays_df.plot(
               kind='scatter',
               x='DEP_DELAY',
               y='ARR_DELAY',
               color='blue',
               alpha=0.3,
               title='Correlation of arrival and departure delay'
              )
plt.show()

 

 

matplotlib_lecture_pattern.png

 

plot의 결과는 일정한 패턴을 보이고 있습니다.

 

scatter plot을 통해 거리와 도착 지연 시간 사이에는 상관관계가 없지만 출발 지연 시간과 도착 지연 시간 사이에는 상관관계가 높다는 것을 확인할 수 있습니다.

 

☑️ 챗GPT 활용: Python matplotlib으로 막대차트 그리는 코드 예제를 알려줘

 

수고하셨습니다.

 

이것으로, 기본 머신러닝 강좌가 모두 종료되었습니다. 이후 내용은 좀 더 실무적인 내용과 실제 구현 과정을 토대로, 여러 포스팅으로 인사드릴게요.

 

 

파이썬 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 파이썬 & 머신러닝 코딩 마스터 

파이썬-책구매링크.png

 

참고자료

개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝

c9-python-getting-started/even-more-python-for-beginners-data-tools/15 - Visualizing data with Matplotlib at master · CloudBreadPaPa/c9-python-getting-started (github.com)

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 23438
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12418
34 Azure Databricks - MLflow를 이용한 머신러닝(5) - Model 배포 file 코난(김대우) 2021.10.14 501
33 Azure Databricks - MLflow를 이용한 머신러닝(4) - Model Registry file 코난(김대우) 2021.10.12 336
32 Azure Databricks - MLflow를 이용한 머신러닝(3) - Project file 코난(김대우) 2021.10.08 317
31 Azure Databricks - MLflow를 이용한 머신러닝(2) - Tracking file 코난(김대우) 2021.10.08 304
30 Azure Databricks - MLflow를 이용한 머신러닝(1) file 코난(김대우) 2021.10.08 418
29 Azure Databricks - Spark에서 머신러닝 분산 처리 file 코난(김대우) 2021.10.07 157
28 PySpark cheat sheet 자료 - RDD, 데이터 처리 file 코난(김대우) 2021.10.01 121
27 PySpark을 이용한 머신러닝 튜토리얼 예제 코난(김대우) 2021.10.01 908
26 Form Recognizer로 문서에서 표 데이터 추출 file 코난(김대우) 2021.01.21 341
25 MLaaS - 12가지의 머신러닝을 먼저 도입한 기업들의 고민 file 코난(김대우) 2021.01.15 733
» Python 머신러닝 강좌 - 15. Matplotlib으로 데이터 시각화(visualization) file 코난(김대우) 2021.01.09 709
23 Python 머신러닝 강좌 - 14. NumPy와 Pandas 코난(김대우) 2021.01.09 692
22 Python 머신러닝 강좌 - 13. 모델의 정확도 평가(accuracy evaluating) 코난(김대우) 2021.01.09 1684
21 Python 머신러닝 강좌 - 12. 머신러닝 모델 테스트 코난(김대우) 2021.01.09 985
20 Python 머신러닝 강좌 - 11. scikit-learn으로 선형회귀(linear regression) 모델 머신러닝 트레이닝 수행 코난(김대우) 2021.01.08 353
19 Python 머신러닝 강좌 - 10. 머신러닝을 위해 scikit-learn으로 트레이닝 데이터와 테스트 데이터 분할 코난(김대우) 2021.01.08 538
18 Python 머신러닝 강좌 - 9. 중복데이터와 결측값(missing value) 처리 코난(김대우) 2021.01.08 258
17 Python 머신러닝 강좌 - 8. Pandas DataFrame 컬럼(column) 분할(split)과 삭제(remove) 코난(김대우) 2021.01.08 385
16 Python 머신러닝 강좌 - 7. Pandas DataFrame으로 CSV 파일 읽고 쓰기 코난(김대우) 2021.01.08 528
15 Python 머신러닝 강좌 - 6. CSV 파일과 주피터 노트북 file 코난(김대우) 2021.01.08 444





XE Login