본문 바로가기

BLOG/머신러닝

[머신러닝] 사이킷런(Scikit-learn) - iris(붓꽃) 데이터 불러와 데이터프레임으로 저장하기

사이킷런(Scikit-learn) 라이브러리는 의사결정 트리, 분류, 회귀 등의 알고리즘에 사용하기 적합한 함수 및 데이터를 제공하는 라이브러리로, 이번 글에서는 사이킷런에서 제공하는 데이터를 불러와 데이터프레임 형식으로 보는 방법에 대해서 살펴보도록 하겠습니다.

 

 

- 사이킷런 데이터 불러오기

사이킷런 라이브러리에는 다양한 데이터가 들어있는데요, 그중 대표적인 데이터인 iris(붓꽃) 데이터를 가져와보겠습니다.

 

from sklearn import datasets
iris_dataset = dataset.iris()

 

먼저, sklearn 에서 데이터가 들어있는 datasets 라이브러리를 import 해준 다음,

dataset.load_iris() 을 통해 iris 데이터를 가져와 iris_dataset 이라는 변수에 저장해줍니다.

 

현재 이 데이터에서 어떠한 데이터가 있는지 확인하고 싶다면 다음과 같이 입력하면 됩니다.

 

iris_dataset.keys()

#output :
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename'])

 

.keys() 함수를 통해 다음과 같이 6개의 key가 있는 것을 살펴볼 수 있습니다.

 

 

 

 - 데이터프레임으로 저장하기

한편, 사이킷런 데이터를 데이터프레임으로 나타내면 데이터를 분석할 때 더 쉬워지는데요, pandas 라이브러리를 import 해준 뒤, 다음과 같이 작성하면 됩니다.

 

import pandas as pd

df = pd.DataFrame(iris_dataset.data, columns=iris_dataset.feature_names)
df.head()

 

위 코드에서 보면 알 수 있듯이, iris 데이터를 데이터프레임으로 만들겠다고 하고, 칼럼을 해당 데이터의 feature_names으로 설정해주었습니다. 그리고나서 상위 5개의 행을 출력해보면 다음과 같이 데이터프레임으로 나타내진 것을 확인할 수 있습니다.

 

	sepal length (cm)	sepal width (cm)	petal length (cm)	petal width (cm)
0	5.1			3.5			1.4			0.2
1	4.9			3.0			1.4			0.2
2	4.7			3.2			1.3			0.2
3	4.6			3.1			1.5			0.2
4	5.0			3.6			1.4			0.2

 

데이터프레임으로 나타난 iris_data를 보면 4개의 칼럼을 가진 데이터가 있음을 살펴볼 수 있습니다.

이제 이후로부터 데이터분석 및 머신러닝 알고리즘 코드를 입력하면 된답니다.