데이터 분석 결과를 쉽게 이해할수있도록 시각적으로 표현하고 전달하는 과정
여기서 말하는 시각적인 표현은 보통 그래프를 이용한 방법을 일컫는다.
데이터 시각화에서 자주 쓰이는 모듈은 Pandas, Matplotlib, Seaborn 등이 있다.
$ pip install pandas
$ pip install matplotlib
$ pip install seaborn
여러 머신러닝 모델의 성능을 비교하기위해 시각화를 한다고 해보자.
그래프를 구현해보기위해 matplotlib을 불러온다.
import matplotlib.pyplot as plt
%matplotlib inline #매직메소드
그 다음, 시각화를 할 raw data를 설정해준다.
models = ['v1', 'v2', 'v3']
performance = [70, 80, 90]
모델 버전 1,2,3가 있으며 각각 성능은 70,80,90이 나왔다.
데이터 설정이 끝났으니 데이터를 시각화할 도화지가 필요하다. 도화지를 만든 이후엔 축을 그려줘야한다.
fig = plt.figure() #도화지
ax1 = fig.add_subplot(1,1,1) #축
add_subplot의 인자는 (행크기,열크기,위치)를 나타낸다.
(1,1,1)의 뜻은 1 x 1 = 1개의 그래프를 만들수 있고 1번 위치에 그래프를 그리겠다는 뜻이다.
위를 실행하면 아래와 같이 나온다.
만약 두개 이상의 그래프를 표현하고 싶다하면 인자를 수정해주면 된다.
fig = plt.figure() #도화지
ax1 = fig.add_subplot(2,2,1) #1번에 위치한 그래프
ax2 = fig.add_subplot(2,2,2) #2번에 위치한 그래프
ax4 = fig.add_subplot(2,2,4) #2번에 위치한 그래프
2 x 2 = 4개의 그래프를 그릴수 있고 각각 1, 2, 4번의 위치에 그래프를 그리겠다는 뜻이다.
도화지와 축 설정법을 알았으니 이제 데이터를 bar graph로 시각화해본다.
models = ['v1', 'v2', 'v3']
performance = [70, 80, 90]
fig = plt.figure() #도화지
ax1 = fig.add_subplot(1,1,1) #축
ax1.bar(models,performance) #(Y축, X축)
잘 나왔으나 뭔가 밋밋하다.
각 axis의 라벨과 그래프 타이틀을 설정하기 위해선 아래와 같은 함수를 이용한다
plt.xlabel('models')
plt.ylabel('performance')
plt.title('model performance')
완성되었다.