<회귀> 보스턴 주택 가격 데이터셋 (load_boston)
Data Analyticsㅤ/ㅤMachine Learningㅤ

<회귀> 보스턴 주택 가격 데이터셋 (load_boston)

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))