본문 바로가기

BLOG/머신러닝

[머신러닝] 사이킷런(Scikit-learn) - sklearn 데이터 불러오기 (보스턴 주택데이터)

 

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

 

 

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

사이킷런 라이브러리에는 다양한 데이터가 들어있는데요, 그중 보스턴 주택 데이터를 가져와보겠습니다.

 

from sklearn import datasets
boston_dataset = dataset.load_boston()

 

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

dataset.load_boston() 을 통해 보스턴 주택 데이터를 가져와 boston_dataset 이라는 변수에 저장해줍니다.

 

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

 

boston_dataset.keys()

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

 

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

 

 

- 데이터프레임으로 보기

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

 

import pandas as pd

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

 

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

 

	CRIM	ZN	INDUS	CHAS	NOX	RM	AGE	DIS	RAD	TAX	PTRATIO	B	LSTAT
0	0.00632	18.0	2.31	0.0	0.538	6.575	65.2	4.0900	1.0	296.0	15.3	396.90	4.98
1	0.02731	0.0	7.07	0.0	0.469	6.421	78.9	4.9671	2.0	242.0	17.8	396.90	9.14
2	0.02729	0.0	7.07	0.0	0.469	7.185	61.1	4.9671	2.0	242.0	17.8	392.83	4.03
3	0.03237	0.0	2.18	0.0	0.458	6.998	45.8	6.0622	3.0	222.0	18.7	394.63	2.94
4	0.06905	0.0	2.18	0.0	0.458	7.147	54.2	6.0622	3.0	222.0	18.7	396.90	5.33