Iris Dataset
Data Science와 Machine Learning을 공부하는 이라면 한 번쯤은 사용해보게 되는 dataset임.
Iris Dataset 을 소개하고, Scikit-Learn에서 제공하는 방법을 살펴보겠음.
Iris Dataset이란?
Iris Dataset은 1936년 영국의 통계학자인 Ronald A. Fisher가 처음 소개한 Dataset임.
이 Dataset은 세 가지 종류의 붓꽃(Iris Setosa, Iris Versicolour, Iris Virginica)의 sample data로 구성됨.
각 sample은 다음의 네 가지 특성(feature)을 가짐:
- 꽃받침 길이(Sepal Length)
- 꽃받침 너비(Sepal Width)
- 꽃잎 길이(Petal Length)
- 꽃잎 너비(Petal Width)
총 150개의 sample이 있으며, 각 sample은 위의 네 가지 특성과 함께 해당하는 꽃의 종류로 라벨링(labeling)되어 있음.
Scikit-Learn에서 Iris 데이터셋 불러오기
Python의 머신러닝 라이브러리인 Scikit-Learn은 Iris 데이터셋을 제공하고 있음.
다음 코드를 참고:
from sklearn.datasets import load_iris
import pandas as pd
# Iris 데이터셋 불러오기
iris = load_iris()
# 데이터셋 설명
print(iris.DESCR)
# 데이터셋을 판다스 데이터프레임으로 변환
iris_df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
iris_df['species'] = iris.target
# 데이터프레임 출력
print(iris_df.head())
이 코드를 실행하면 Iris 데이터셋의 설명과 함께, 데이터프레임 형태로 변환된 Iris 데이터셋의 일부를 확인할 수 있음.
데이터 분석 및 시각화
Iris Dataset은 다양한 분석 및 시각화 기법을 연습하기에 매우 적합함.
예를 들어, 각 꽃 종류별로 특성들의 분포를 시각화하면 다음과 같음:
import seaborn as sns
import matplotlib.pyplot as plt
# 종(species) 열을 문자열로 변환
ori_species = iris_df['species'].copy()
iris_df['species'] = iris_df['species'].apply(lambda x: iris.target_names[x])
# 페어플롯(pairplot) 시각화
# 기본 사이즈 설정
sns.pairplot(iris_df, hue='species')
plt.show()
iris_df['species']= ori_species
이 코드는 Seaborn 라이브러리를 사용하여 각 특성 간의 관계를 시각화한 scatter diagrams을 생성함.
결론
Iris Dataset은 Data Science와 ML을 시작하는 이에게 classification task를 익히기 좋은 데이터셋임.
비교적 간단한 구조와 다양한 특성, 여러 클래스로 구성되어 있어서
기본적인 데이터 분석 및 시각화, 머신러닝 모델 학습에 이르기까지 폭넓게 활용할 수 있음.
https://gist.github.com/dsaint31x/6078797e40ff5725271717516f7ead47