우노
[Python] 산점도 행렬 (scatter_matrix) 본문
데이터 살펴보기
- 머신러닝 모델을 만들기 전에, 해당 문제가 머신러닝 없이도 풀 수 있는 문제는 아닌지, 혹은 필요한 정보가 누락되지는 않았는지, 데이터를 조사해보는 것이 좋습니다.
- 또한, 데이터를 탐색하면서 비정상적인 값이나 특이한 값들을 찾을 수도 있습니다.
- 데이터를 탐색하는 가장 좋은 방법 중 하나는 시각화이며, 시각화 방법 중 하나는 산점도 행렬(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