부동산 가격 예측을 실천하다.
데이터 설명
학습용 데이터: 1460
테스트 데이터: 1459count 1460.000000
mean 180921.195890
std 79442.502883
min 34900.000000
25% 129975.000000
50% 163000.000000
75% 214000.000000
max 755000.000000
Name: SalePrice, dtype: float64
사전 처리
결손치 처리
행렬에서 부족한 값이 많은 값을 빼고 그 이외의 값은 중값으로 채웁니다.y_train = train['SalePrice']
X_train = train.drop(['SalePrice'], axis=1)
X_test = test
Xmat = pd.concat([X_train, X_test])
Xmat = Xmat.drop(['LotFrontage','MasVnrArea','GarageYrBlt'], axis=1)
Xmat = Xmat.fillna(Xmat.median())
Label Encoder를 사용하여 object를 태그의 값으로 변환합니다.from sklearn.preprocessing import LabelEncoder
for i in range(train.shape[1]):
if train.iloc[:,i].dtypes == object:
lbl = LabelEncoder()
lbl.fit(list(train.iloc[:,i].values) + list(test.iloc[:,i].values))
train.iloc[:,i] = lbl.transform(list(train.iloc[:,i].values))
test.iloc[:,i] = lbl.transform(list(test.iloc[:,i].values))
비슷한 특징량을 결합하여 새로운 특징량을 생성하여 분석 효율을 높인다.Xmat["TotalSF"] = Xmat["TotalBsmtSF"] + Xmat["1stFlrSF"] + Xmat["2ndFlrSF"]
데이터 시각화된 데이터 처리라고 볼 수 있다
SalePrice의 분포를 살펴보면 정적 분포가 아님을 알 수 있습니다.
대수 계산을 실시하여 다음과 같이 묘사한 정적 분포로 전환한다.
쌍곡선도
핫 매핑
상기 분석을 토대로 중요한 변수를 추출하다.(또한 유사한 변수는 다중 공선성을 가진 변수 추출 상관수가 큰 측이다.)
・OverallQual:Overall material and finish quality
・YeatBuilt:Original construction date
・YearRemodAdd:Remodeling or additions
・TotalSF:Total square feet
・GrLivArea:Above grade(ground)living area square feet
・FullBath:Full bathrooms above grade
・GarageCars:Size of garage in car capacity
다음 그림에서 각 변수를 표시하여 오프셋 값을 확인하고 삭제합니다.
박스맵으로 특별한 관계가 있을 수 있는 Overall Qual을 분석하면 뚜렷한 선형을 확인할 수 있다.
모델 생성하기
무작위 삼림을 이용하여 분석하다.산포도에서 선형을 확인할 수 없고 비중회귀분석이 더 적합하다는 이유다.
이 밖에 범용성이 높고 조화 파라미터가 적다는 장점도 있다.from sklearn.model_selection import StratifiedKFold
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestRegressor
# データの分割方法を指定(層化)
kf = StratifiedKFold(n_splits=3, shuffle=True, random_state=0)
# パラメータの設定
param_grid = {'n_estimators': [400, 500, 600],
'max_depth': [3, 4]}
# グリッドサーチのモデルのインスタンスを作成
forest_model = GridSearchCV(RandomForestRegressor(), param_grid, cv = kf)
#ランダムフォレストを用いた学習を行う。
forest_model.fit(X, y)
이 학습을 통해 우리는 MSE와 결정 계수를 보았다.
Train
Test
MSE
840155614.755
850460488.628
결정 계수
0.872
0.850
예상과 결과의 잔차를 묘사한 도표도 나왔다.
경기의 석차
결과 점수 0.17576, 순위 3261/4748
결과와 향후 전망
예측 정밀도는 85% 로 부진에 빠졌다.또한 잔차를 보면 일정한 편차가 존재하고 특징량으로 추출해야 할 특징량도 존재한다.
이번 결손치와 편리치 처리는 주요한 처리가 되었고 변수 간의 관계성 등에 착안하여 진일보한 처리를 할 수 있는 여지를 남겼다.
앞으로 데이터의 예처리에서 할 수 있는 일을 늘리고 경기의 순서를 높이는 동시에 실무적인 과제 해결에도 힘쓰고 싶다.
코드는 여기 에 있습니다.
Reference
이 문제에 관하여(부동산 가격 예측을 실천하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatsu626/items/39240ea806ed070d33e1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
count 1460.000000
mean 180921.195890
std 79442.502883
min 34900.000000
25% 129975.000000
50% 163000.000000
75% 214000.000000
max 755000.000000
Name: SalePrice, dtype: float64
결손치 처리
행렬에서 부족한 값이 많은 값을 빼고 그 이외의 값은 중값으로 채웁니다.
y_train = train['SalePrice']
X_train = train.drop(['SalePrice'], axis=1)
X_test = test
Xmat = pd.concat([X_train, X_test])
Xmat = Xmat.drop(['LotFrontage','MasVnrArea','GarageYrBlt'], axis=1)
Xmat = Xmat.fillna(Xmat.median())
Label Encoder를 사용하여 object를 태그의 값으로 변환합니다.from sklearn.preprocessing import LabelEncoder
for i in range(train.shape[1]):
if train.iloc[:,i].dtypes == object:
lbl = LabelEncoder()
lbl.fit(list(train.iloc[:,i].values) + list(test.iloc[:,i].values))
train.iloc[:,i] = lbl.transform(list(train.iloc[:,i].values))
test.iloc[:,i] = lbl.transform(list(test.iloc[:,i].values))
비슷한 특징량을 결합하여 새로운 특징량을 생성하여 분석 효율을 높인다.Xmat["TotalSF"] = Xmat["TotalBsmtSF"] + Xmat["1stFlrSF"] + Xmat["2ndFlrSF"]
데이터 시각화된 데이터 처리라고 볼 수 있다
SalePrice의 분포를 살펴보면 정적 분포가 아님을 알 수 있습니다.

대수 계산을 실시하여 다음과 같이 묘사한 정적 분포로 전환한다.

쌍곡선도

핫 매핑


상기 분석을 토대로 중요한 변수를 추출하다.(또한 유사한 변수는 다중 공선성을 가진 변수 추출 상관수가 큰 측이다.)
・OverallQual:Overall material and finish quality
・YeatBuilt:Original construction date
・YearRemodAdd:Remodeling or additions
・TotalSF:Total square feet
・GrLivArea:Above grade(ground)living area square feet
・FullBath:Full bathrooms above grade
・GarageCars:Size of garage in car capacity
다음 그림에서 각 변수를 표시하여 오프셋 값을 확인하고 삭제합니다.




박스맵으로 특별한 관계가 있을 수 있는 Overall Qual을 분석하면 뚜렷한 선형을 확인할 수 있다.

모델 생성하기
무작위 삼림을 이용하여 분석하다.산포도에서 선형을 확인할 수 없고 비중회귀분석이 더 적합하다는 이유다.
이 밖에 범용성이 높고 조화 파라미터가 적다는 장점도 있다.from sklearn.model_selection import StratifiedKFold
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestRegressor
# データの分割方法を指定(層化)
kf = StratifiedKFold(n_splits=3, shuffle=True, random_state=0)
# パラメータの設定
param_grid = {'n_estimators': [400, 500, 600],
'max_depth': [3, 4]}
# グリッドサーチのモデルのインスタンスを作成
forest_model = GridSearchCV(RandomForestRegressor(), param_grid, cv = kf)
#ランダムフォレストを用いた学習を行う。
forest_model.fit(X, y)
이 학습을 통해 우리는 MSE와 결정 계수를 보았다.
Train
Test
MSE
840155614.755
850460488.628
결정 계수
0.872
0.850
예상과 결과의 잔차를 묘사한 도표도 나왔다.
경기의 석차
결과 점수 0.17576, 순위 3261/4748
결과와 향후 전망
예측 정밀도는 85% 로 부진에 빠졌다.또한 잔차를 보면 일정한 편차가 존재하고 특징량으로 추출해야 할 특징량도 존재한다.
이번 결손치와 편리치 처리는 주요한 처리가 되었고 변수 간의 관계성 등에 착안하여 진일보한 처리를 할 수 있는 여지를 남겼다.
앞으로 데이터의 예처리에서 할 수 있는 일을 늘리고 경기의 순서를 높이는 동시에 실무적인 과제 해결에도 힘쓰고 싶다.
코드는 여기 에 있습니다.
Reference
이 문제에 관하여(부동산 가격 예측을 실천하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatsu626/items/39240ea806ed070d33e1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from sklearn.model_selection import StratifiedKFold
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestRegressor
# データの分割方法を指定(層化)
kf = StratifiedKFold(n_splits=3, shuffle=True, random_state=0)
# パラメータの設定
param_grid = {'n_estimators': [400, 500, 600],
'max_depth': [3, 4]}
# グリッドサーチのモデルのインスタンスを作成
forest_model = GridSearchCV(RandomForestRegressor(), param_grid, cv = kf)
#ランダムフォレストを用いた学習を行う。
forest_model.fit(X, y)
결과 점수 0.17576, 순위 3261/4748
결과와 향후 전망
예측 정밀도는 85% 로 부진에 빠졌다.또한 잔차를 보면 일정한 편차가 존재하고 특징량으로 추출해야 할 특징량도 존재한다.
이번 결손치와 편리치 처리는 주요한 처리가 되었고 변수 간의 관계성 등에 착안하여 진일보한 처리를 할 수 있는 여지를 남겼다.
앞으로 데이터의 예처리에서 할 수 있는 일을 늘리고 경기의 순서를 높이는 동시에 실무적인 과제 해결에도 힘쓰고 싶다.
코드는 여기 에 있습니다.
Reference
이 문제에 관하여(부동산 가격 예측을 실천하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tatsu626/items/39240ea806ed070d33e1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(부동산 가격 예측을 실천하다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatsu626/items/39240ea806ed070d33e1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)