sklearn 데이터셋
- ☞ sklearn이 제공하는 데이터셋 목록: scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets
- ☞ 활용 데이터셋: scikit-learn.org/stable/modules/generated/sklearn.datasets.load_boston.html#sklearn.datasets.load_boston
1. 데이터 준비
# 셋업
import pandas as pd
import numpy as np
np.set_printoptions(suppress=True) # 1e-5 처럼 나오는 것을 방지
# 데이터 import
from sklearn.datasets import load_boston
# 데이터 로드
data = load_boston()
# 데이터 설명 확인
print(data['DESCR'])
컬럼 소개
- 속성 수 : 13
- CRIM: 범죄율
- ZN: 25,000 평방 피트 당 주거용 토지의 비율
- INDUS: 비소매(non-retail) 비즈니스 면적 비율
- CHAS: 찰스 강 더미 변수 (통로가 하천을 향하면 1; 그렇지 않으면 0)
- NOX: 산화 질소 농도 (천만 분의 1)
- RM:주거 당 평균 객실 수
- AGE: 1940 년 이전에 건축된 자가 소유 점유 비율
- DIS: 5 개의 보스턴 고용 센터까지의 가중 거리
- RAD: 고속도로 접근성 지수
- TAX: 10,000 달러 당 전체 가치 재산 세율
- PTRATIO 도시 별 학생-교사 비율
- B: 1000 (Bk-0.63) ^ 2 여기서 Bk는 도시 별 검정 비율입니다.
- LSTAT: 인구의 낮은 지위
- MEDV: 자가 주택의 중앙값 (1,000 달러 단위)
2. 데이터 프레임 만들기
- data['data']는 X 데이터, data['feature_names']는 컬럼명이다
- Y 데이터인 price('MEDV'컬럼)도 데이터프레임에 추가한다
df = pd.DataFrame(data['data'], columns=data['feature_names'])
df['MEDV'] = data['target']
df.head()
3. train, test 데이터셋 분할하기
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(df.drop('MEDV', 1), df['MEDV'])
x_train.shape, x_test.shape
# -> ((379, 13), (127, 13))