컴공돌이의 스터디 블로그

[Iris_2] - Iris DataSet 시각화하기 본문

Machine Learning 실습/Iris

[Iris_2] - Iris DataSet 시각화하기

제갈초아 2018. 3. 27. 12:00

* 이 글은 Iris DataSet을 이용한 실습 과정을 정리한 글입니다.


Iris DataSet 시각화하기


  데이터를 실제로 Classification 혹은 Regression 하기 전, 먼저 Iris DataSet에 대해서 시각화을 해보겠습니다. 일반적으로 데이터 분석을 하기전 데이터에 대한 이해를 높이기 위해서 시각화를 많이 해줍니다. 이런 시각화를 해줄 때 많이 사용되는 것이 matplotlib 혹은 seaborn 이라고 불리는 패키지들 입니다. seaborn은 matplotlib을 기반으로 다양한 색상 테마와 통계용 차트 등의 기능을 추가한 시각화 패키지입니다. 패키지 안에는 다양한 함수가 있기 때문에 이것들을 사용한다면 데이터를 편하게 시각화 할 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
from sklearn.datasets import load_iris
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
 
Iris = load_iris()
 
Iris_Data = pd.DataFrame(data= np.c_[Iris['data'], Iris['target']], columns= Iris['feature_names'+ ['target'])
Iris_Data['target'= Iris_Data['target'].map({0"setosa"1"versicolor"2"virginica"})
 
X_Data = Iris_Data.iloc[:,:-1]
Y_Data = Iris_Data.iloc[:,[-1]]
cs


  seaborn 패키지 안에 들어있는 pairplot() 함수를 사용해서 얻을 수 있는 데이터 분포 그래프들은 아래와 같습니다.


1
sns.pairplot(Iris_Data, hue="target", size=3)
cs


  위의 그림이 모든 변수쌍에 대한 그래프를 표현하였다면, pairplot() 내부의 x_vars, y_vars 를 조절한 1개의 그래프도 아래와 같이 표현할 수 있습니다.


1
sns.pairplot(Iris_Data, x_vars=["sepal length (cm)"], y_vars=["sepal width (cm)"], hue="target", size=5)
cs


  이 밖에도 seaborn 패키지에는 다양한 그래프를 그릴 수 있는 함수가 많이 있습니다. 위의 사진과 같은 분포 그래프가 아닌 다른 종류의 그래프는 아래의 사진 이외에도 여러가지 종류가 있습니다.


1
sns.FacetGrid(Iris_Data, hue="target", size=5).map(sns.kdeplot, "petal length (cm)").add_legend()
cs


1
sns.boxplot(x="target", y="petal width (cm)", data=Iris_Data)
cs


1
sns.stripplot(x="target", y="sepal length (cm)", data=Iris_Data, jitter=True, edgecolor="gray", size=5)
cs


1
sns.violinplot(x="target", y="sepal width (cm)", data=Iris_Data, size=5)
cs


  위의 4가지 그래프 이외에도 다양한 시각화 함수가 많이 있습니다. 데이터를 본격적으로 다루기 전 이렇게 시각화를 해 준다면 데이터에 대한 이해도가 한층 더 높아질 수 있기 때문에 한번 해보는 것을 추천합니다.

반응형
Comments