파이썬 기계학습 라이브러리인 싸이킷런(scikit-learn)에서는 테스트를 위한 데이터셋(datasets)을 제공한다. 유형을 3가지로 나눌 수 있는데, 테스트 코드 연습을 위해서는 보통 load 계열의 데이터셋을 이용한다. 본 포스팅에서는 쉽고 많이 사용하는 load 계열의 데이터를 알아보도록 하겠다.
데이터 셋 분류
- load 계열 : scikit-learn 패키지에 포함된 데이터
- make 계열 : 확률분포를 사용해 가상의 데이터를 생성
- fetch 계열 : 인터넷에서 다운로드하여 실행되는 대량의 데이터
- fetch_california_housing : 캘리포니아 집값(회귀 분석용)
- fetch_covtype : 토지 조사(회귀 분석용)
- fetch_20newsgroups : 뉴스 그룹 텍스트 자료
- fetch_livetti_faces : 얼굴 이미지
- fetch_lfw_people : 유명인 얼굴 이미지
- fetch_lfw_pairs : 유명인 얼굴 이미지
- fetch_kddcup99 : Kddcup 99 TCP dump
- fetch_rcv1 : 로이터 뉴스 말뭉치
데이터 셋 종류(laod 계열)
데이터 함수 | 내용 | 구분 |
load_boston | 1978년 보스톤 집 가격 | regression |
load_iris | 붓꽃(iris) 유형 | classification |
load_diabetes | 442명의 당뇨병 환자의 데이터 | regression |
load_digits | 0~9까지의 숫자 필기 이미지 데이터 | classification |
load_linnerud | 운동 능력 데이터 | regression |
load_wine | 와인 등급 데이터 | classification |
load_breast_cancer | 위스콘신 유방암 진단 데이터 | classification |
Scikit-learn 데이터 셋은 회귀(regression), 분류(classification)으로 나눠져 있고 유사한 구조로 되어 있다. 이 중 wine 데이터 셋을 살펴보도록 하자.
load_wine 데이터 셋
와인 등급 데이터는 분류(calssification)를 위한 데이터셋이다. load_wine() 함수를 이용하여 쉽게 로드할 수 있으며, 로드된 데이터 셋의 결과는 sklearn.utils.Bunch 클래스 형태로 저장된다.
from sklearn.datasets import load_wine
datasets = load_wine()
print(type(datasets))
<class 'sklearn.utils.Bunch'>
Bunch 객체는 몇 가지의 key를 제공하며 이를 통해 데이터의 정보를 쉽게 확인할 수 있다.
print(datasets.keys())
data, target, target_names 등 주요 key를 제공하며, 분류나 회귀 데이터에 따라 속성이 약간 다르다.
- data : 모델에 feed 할 학습데이터
- target : 정답 데이터, 라벨(label), 클래스(class) 데이터
- target_name : 라벨, 클래스 이름
- feature_name : 피쳐 이름, 속성 이름
몇 가지 key 속성을 살펴보자.
print(datasets['data'])
print('------------')
print(datasets['target'])
print('------------')
print(datasets['target_names'])
print('------------')
print(datasets['feature_names'])
- target
- class_0
- class_1
- class_2
- feature
- alcohol : 알콜
- malic_acid : 말산
- ash : 회분
- alcalinity_of_ash : 회분의 알칼리도
- magnesium : 마그네슘
- total_phenols : 총 폴리페놀
- flavanoids : 플라보노이드 폴리페놀
- nonflavanoid_phenols : 비 플라보노이드 폴리페놀
- proanthocyanins : 프로안토시아닌
- color_intensity : 색상의 강도
- hue : 색상
- od280/od315_of_diluted_wines : 희석 와인의 OD280/OD315 비율
- proline : 프롤린
DESCR 속성은 아래와 같이 데이터셋에 대한 세부설명을 제공한다.
print(datasets['DESCR'])
load_boston 데이터셋
load_boston은 1978년 보스턴 집값 데이터로 회귀(regression)용 데이터셋이다. load_boston()을 호출하여 데이터를 로드한다.
from sklearn.datasets import load_boston
datasets = load_boston()
print(datasets.keys())
print(type(datasets))
회귀용 데이터셋에 대한 key 속성은 아래와 같다.
print(datasets['data'])
print('------------')
print(datasets['target'])
print('------------')
print(datasets['feature_names'])
마찬가지로 DESCR 속성을 통해 세부내용을 확인할 수 있다. 총 506개의 인스턴스가 있으며, 인스턴스 하나 당 속성은 예측변수 13개, 타겟 변수 1개, 총 14개이다.
- CRIM : 자치시 1인당 범죄율
- ZN : 거주지역의 비율
- INDUS : 비소매상업지역 면적 비율
- CHAS : 찰스강에 대한 더미변수 (경계위치 : 1, 아니면 : 0)
- NOX : 일산화질소 농도
- RM : 주택당 방 수
- AGE: 1940년 이전에 건축된 주택의 비율
- DIS: 직업센터의 거리
- RAD : 방사형 고속도로까지의 거리(접근성)
- TAX : 재산세율
- PTRATIO : 학생/교사 비율
- B : 인구 중 흑인 비율
- LSTAT : 인구 중 하위 계층 비율
- MEDV : 본인 소유의 주택가격(중앙값)
print(datasets['DESCR'])
'인공지능 > 머신러닝, 딥러닝' 카테고리의 다른 글
Horovod를 이용하여 분산학습 해보기-1 (0) | 2020.07.10 |
---|
인공지능/머신러닝, 딥러닝 카테고리의 다른 글
Horovod를 이용하여 분산학습 해보기-1