선형 회귀분석에서는 보스턴 하우징 데이터 집

크레딧:http://www.wbur.org/radioboston/2013/09/18/bostons-housing-challenge

이전 블로그 I 덮여의 기초가 선형 회귀와 그의 후손이다. 을 선형 회귀분석 우리는 원래의 데이터 집합하고 적용하는 개념을 우리가 배웠습니다.

우리는 보스턴의 다른 주택에 대한 정보가 포함 된 주택 데이터 세트를 취할 것입니다. 이 데이터는 원래 UCI 기계 학습 저장소의 일부였으며 현재 제거되었습니다. Scikit-learn 라이브러리에서이 데이터에 액세스 할 수도 있습니다. 이 데이터 세트에는 506 개의 샘플과 13 개의 기능 변수가 있습니다. 목표는 주어진 기능을 사용하여 집의 가격 가치를 예측하는 것입니다.

그럼 시작하자.먼저 필요한 라이브러리를 가져올 것입니다.

다음에,우리는 것입니다드 하우징에서 데이터는scikit-learn라이브러리고 그것을 이해합니다.

우리는 인쇄 가치의boston_datasetprint(boston_dataset.keys())

dict_keys()
  • 데이터에 대한 정보를 포함한 다양한 집
  • 대상:가격의 집
  • feature_names:의 이름을 기
  • DESCR: 에 대해 설명합 데이터 집

에 대한 자세한 내용을 알고 기능을 사용하는boston_dataset.DESCR의 설명이 모든 기능은 아래 주어:

CRIM: Per capita crime rate by town
ZN: Proportion of residential land zoned for lots over 25,000 sq. ft
INDUS: Proportion of non-retail business acres per town
CHAS: Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)
NOX: Nitric oxide concentration (parts per 10 million)
RM: Average number of rooms per dwelling
AGE: Proportion of owner-occupied units built prior to 1940
DIS: Weighted distances to five Boston employment centers
RAD: Index of accessibility to radial highways
TAX: Full-value property tax rate per $10,000
PTRATIO: Pupil-teacher ratio by town
B: 1000(Bk — 0.63)², where Bk is the proportion of by town
LSTAT: Percentage of lower status of the population
MEDV: Median value of owner-occupied homes in $1000s

가격의 집에 표시한 변수를MEDV우리의 목표는 변수이고 나머지는 기능 변수를 기반으로 우리가 예측의 가치 집입니다.

이제pd.DataFramehead()

우리가 볼 수있는 목표 값MEDV는 누락된 데이터에서. 대상 값의 새 열을 만들어 데이터 프레임에 추가합니다.

데이터 전처리

로딩 후 데이터를,그것은 좋은 연습을 볼 수 있으면 누락된 모든 값을 데이터에 있습니다. 우리는 수 없 값을 사용하여 각 기능에 대한isnull()

그러나 누락된 값이 없이 데이터 집합으로 아래와 같습니다.

예비 데이터 분석

예비 데이터 분석은 매우 중요한 단계는 훈련을하기 전에 모델이다. 이 섹션에서는 일부 시각화를 사용하여 대상 변수와 다른 기능의 관계를 이해합니다.

먼저 대상 변수MEDVdistplotseaborn라이브러리에서 사용할 것입니다.

우리는 값의MEDV분산되어 일반적으로 몇 가지 특이하다.

다음으로 변수 간의 선형 관계를 측정하는 상관 행렬을 만듭니다. 상관 행렬은 pandas dataframe 라이브러리에서corr함수를 사용하여 형성 될 수 있습니다. Seaborn 라이브러리의heatmap함수를 사용하여 상관 행렬을 플롯합니다.

상관관계 계수 범위-1 에서 1. 값이 1 에 가깝다면 두 변수 사이에 강한 양의 상관 관계가 있음을 의미합니다. -1 에 가까울 때 변수는 강한 음의 상관 관계를 갖습니다.

관찰:

  • 선형 회귀 모델을 맞추기 위해 목표 변수MEDVRMMEDVLSTATMEDV(-0.74).
  • 선형 회귀 모델의 피쳐 선택에서 중요한 점은 다중 공동 선형성을 확인하는 것입니다. 기능RADTAXDISAGE가의 상관관계 -0.75.

기상 관측리RMLSTATMEDV와 어떻게 다른지 살펴 보겠습니다.

관측:

  • 가격으로 증가하는 값 RM 연속적으로 늘어납니다. 이상치는 거의 없으며 데이터는 50 으로 덮인 것 같습니다.
  • 가격은 LSTAT 의 증가로 감소하는 경향이있다. 정확히 선형 선을 따르는 것처럼 보이지는 않지만.

데이터 준비를 위한 훈련 모델

우리는 연결LSTATRMnp.c_에 의해 제공됩 numpy 라이브러리입니다.

로 데이터를 분할하 훈련 및 테스트 설정

다음에,우리는 데이터로 교육하고 테스트합니다. 우리는 샘플의 80%로 모델을 훈련시키고 나머지 20%로 테스트합니다. 우리는 보이지 않는 데이터에 대한 모델의 성능을 평가하기 위해이 작업을 수행합니다. 데이터를 분할하기 위해 scikit-learn 라이브러리에서 제공하는train_test_split기능을 사용합니다. 우리는 마지막으로 분할이 제대로 발생했는지 확인하기 위해 교육 및 테스트 세트의 크기를 인쇄합니다.

(404, 2) 
(102, 2)
(404,)
(102,)

훈련 및 테스트델

우리가 사용하는 와 배우의LinearRegression을 훈련 우리의 모델 모두에서 훈련하고 테스트합니다.

모델 평가

리 평가하는 것이 우리의 모델을 사용하여 RMSE 및 R2 습니다.

The model performance for training set 
--------------------------------------
RMSE is 5.6371293350711955
R2 score is 0.6300745149331701 The model performance for testing set
--------------------------------------
RMSE is 5.137400784702911
R2 score is 0.6628996975186952

이 시작하는 것이 좋다. 다가오는 블로그에서는 모델의 성능을 높이는 방법을 살펴볼 것입니다.

전체 Jupyter 노트북은 여기에서 찾을 수 있습니다.

결론

이 이야기에서,우리에 적용한 개념의 선형 회귀분석에서는 보스턴 주택합니다. 나는 다른 데이터 세트도 시험해 볼 것을 권한다.

여기에 몇 가지 장소 당신이 볼 수 있는 데이터에 대해

  • https://www.kaggle.com/datasets
  • https://toolbox.google.com/datasetsearch
  • https://archive.ics.uci.edu/ml/datasets.html

끝까지 읽어 주셔서 감사합니다.!

이 시리즈의 다음 부분에서는 다항식 회귀를 다룰 것입니다. 더 많은 것을 위해이 공간을 지켜보십시오.

Related Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다