오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-05 00:02
관리 메뉴

우노

[Python] 산점도 행렬 (scatter_matrix) 본문

Language/Python

[Python] 산점도 행렬 (scatter_matrix)

운호(Noah) 2020. 7. 31. 10:47

데이터 살펴보기

  • 머신러닝 모델을 만들기 전에, 해당 문제가 머신러닝 없이도 풀 수 있는 문제는 아닌지, 혹은 필요한 정보가 누락되지는 않았는지, 데이터를 조사해보는 것이 좋습니다.
  • 또한, 데이터를 탐색하면서 비정상적인 값이나 특이한 값들을 찾을 수도 있습니다.
  • 데이터를 탐색하는 가장 좋은 방법 중 하나는 시각화이며, 시각화 방법 중 하나는 산점도 행렬(scatter matrix)입니다.
  • 산점도 행렬(scatter matrix)은 데이터의 특성 중 하나를 x 축에 놓고 다른 특성 중 하나를 y 축에 놓아, 두 특성의 관계를 하나의 점으로 나타내는 그래프입니다.
  • 즉, 2개의 특성을 묶어 2차원으로 표현하므로, 모든 특성의 관계가 나타나는 것이 아닌, 짝지어진 두 특성의 관계만 나타내게 됩니다.
  • 따라서, 특성의 수가 적다면 꽤 괜찮은 방법이지만, 각각의 나누어진 산점도 그래프에는 드러나지 않는 중요한 성질이 있을 수 있습니다.
  • 예제를 통해 자세히 살펴보겠습니다.

iris 데이터로 DataFrame 생성

from sklearn.datasets import load_iris
import pandas as pd

# iris 데이터 불러오기
iris_dataset = load_iris()

# iris data 를 DataFrame 화
iris_data = pd.DataFrame(iris_dataset['data'],columns=iris_dataset.feature_names)

iris_data

scatter_matrix 를 사용한 산점도 행렬 표현

import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix

# iris data 를, target 별 다른 색으로 표현
scatter_matrix(iris_data,
               c = iris_dataset['target'],
               alpha=0.5, 
               figsize=(10, 10), 
               diagonal='kde')
plt.show()

  • 각 target이 feature 묶음에 따라 잘 구분되는 것을 알 수 있습니다.

'Language > Python' 카테고리의 다른 글

[Python] LHS(Latin HyperCube Sampling)란?  (0) 2020.11.02
[Python] sys.stdin  (0) 2020.09.15
[Python] Matplotlib 3차원 산점도 그리기  (4) 2020.07.29
[Python] Matplotlib 기초  (0) 2020.07.29
[Python] Pandas DataFrame 행,열 삭제  (0) 2020.07.28
Comments