Boston Housing Data
1970년 대 보스턴 시의 주택가격 데이터으로
California Housing Data
와 함께 기계학습의 연습용 데이터로 많이 애용됨.
현재 California Housing Data로 대체되는 추세임
California Housing Data가 1990대 후반에 얻어진 보다 최신 데이터이면서
인종적 편견을 유발하는 feature가 없고
보다 많은 sample 수 로 구성되었다는 장점을 가짐.
- 집값은 Median Price이며,
- 해당 집값에 영향을 주는 다양한 13개의 요소들로 구성됨.
- 전체 샘플의 수는 506개임.
더보기
참고로,
TensorFlow 의 Keras 의 dataset 모듈에서 제공하는
boston_housing 의 load_data로 train dataset과 test dataset로 얻는 경우,
404개와 102개로 나누어 제공함.
Feature Description
idx | Column Name | Desc. |
1 | CRIM | 범죄율 |
2 | ZN | 25,000 square feet 이상의 주거용 토지의 비율 |
3 | INDUS | 비소매사업지역이 차지하는 토지의 비율 |
4 | CHAS | 강의 경계 1, 아니면 0 (Charles River 기준) |
5 | NOX | 10ppm 단위의 Nitric Oxides Concentration |
6 | RM | 주택당 평균 방의 수 |
7 | AGE | 1940년 이전에 건축된 자가 소유 주택의 비율 |
8 | DIS | 다섯 개의 고용센터까지의 가중 거리. |
9 | RAD | 방사형 고속도로 (radial highways) 접근성 지수 (방사형) |
10 | TAX | 1만 달러당 재산세율 |
11 | PTRATIO | 학생/교사 비율 (Pupil-teacher ratio) |
12 | B | $1000(Black - 0.63)^2$ : Black은 흑인을 의미함. 흑인의 비율 |
13 | LSTAT | 하위계층의 비율 (Lower status) |
14 | MEDV | 주택의 median 가격 (단위: 1천달러) |
데이터 로딩.
다음 URL에서 얻을 수 있는 Boston Housing Data는 약간의 처리가 필요함.
url: http://lib.stat.cmu.edu/datasets/boston
위의 URL은 다음과 같은 특성이 있어서 일반적인 csv 형식과 차이가 있음.
* 하나의 샘플에 대한 데이터가 연속된 2개의 라인에 기재됨: 때문에 하나의 라인을 하나의 샘플로 처리해선 안됨.
* 짝수행의 데이터에서는 3개 열 외는 NaN이므로 제거해야함.
* 짝수행의 3번째 열이 바로 target인 주택의 median value에 해당함.
이를 반영하여 506개의 sample을 가지며, 하나의 sample은 13개의 feature를 가지는 input data인 x_raw
와 이에 대응하는 label값을 가지는 y_raw
를 생성하는 code는 다음과 같음.
import pandas as pd
data_url = 'http://lib.stat.cmu.edu/datasets/boston'
df = pd.read_csv(
data_url,
skiprows = 22,
header = None,
sep = '\s+'
)
df.head()
tmp_raw = df.values
x_raw = np.concatenate([tmp_raw[::2,:], tmp_raw[1::2,:2]], axis=1)
y_raw = tmp_raw[1::2,2].reshape(-1,1)
features = [
'CRIM',
'ZN',
'INDUS',
'CHAS',
'NOX',
'RN',
'AGE',
'DIS',
'RAD',
'TAX',
'PIRATIO',
'B',
'LSTAT',
'MEDV'
]
df = pd.DataFrame(np.hstack([x_raw,y_raw.reshape(-1,1)]), columns=features)
df.to_csv('boston.csv',index=False)
df.info()
같이 읽어보면 좋은 자료.
2024.04.13 - [Python] - [DL] Pandas 로 csv 읽기: read_csv
2024.05.18 - [Python] - [ML] Dataset: Wisconsin Breast Cancer Dataset
728x90
'Python' 카테고리의 다른 글
[DL] Classification 을 위한 Activation Func. 와 Loss Func: PyTorch (0) | 2024.05.23 |
---|---|
[ML] Dataset: Wisconsin Breast Cancer Dataset (0) | 2024.05.18 |
[Python] collections.abc (0) | 2024.04.15 |
[Python] class 만들기. (0) | 2024.04.14 |
[DL] Pandas 로 csv 읽기: read_csv (0) | 2024.04.13 |