[Kaggle Review] 22.Jan.23 - House_Price_Prediction

Deok Jong Moon·2022년 1월 23일
0
post-thumbnail
  • Predicting House Prices

    • 'yr_built'를 통해 역으로 산출한 'age'라는 컬럼을 만들었다.
    • 본인이 실험하는 것의 평가지표를 설정하고(이 경우엔 대회에서 준 RMSE), 실험마다 해당 지표의 결과를 한 곳에 모아 DataFrame으로 보기 좋게 보여준다.
    • 느낀 점
      • 굉장히 심플하지만 체계적인 구조로 실험을 했다.(나도 할 수 있을 정도)
      • EDA 부분에서는 뭔가 현란한(?) 기술과 통찰을 동원한 것 같진 않은데, 대부분 이렇게 하시나 궁금하다.
  • House Price Prediction EDA (updated 2019.03.12)

    •   #skewness and kurtosis
      print("Skewness: %f" % df_train['price'].skew())
      print("Kurtosis: %f" % df_train['price'].kurt())
    • 위와 같이 하면 skewness(값이 클수록 오른쪽 꼬리가 길다), Kurtosis(3에 가까우면 scatter가 정규분포에 가깝고, '< 3'이면 볼록한 게 정규분포보다 더 평탄, '> 3'이면 정규분포보다 더 뾰족해진다는 뜻이란다.
    • 이를 확인하는 이유는 regression 모델에서 정규분포를 따르게 해야 예측값이 더 잘 나오기 때문인 듯하다.
    • for df in [df_train,df_test]:
        df['date'] = df['date'].apply(lambda x: x[0:8])
        df['yr_renovated'] = df['yr_renovated'].apply(lambda x: np.nan if x == 0 else x)
        df['yr_renovated'] = df['yr_renovated'].fillna(df['yr_built'])
    • 위와 같이 여기서는 renovated 컬럼을 yr_built와 함쳐서 제일 최근 건축된 날짜로 바꿨다. 특히 이 때 np.nan으로 0값을 바꾸고, fillna()를 이용한 trick이 인상적이다.
    • p-value, 다중공선성, 다중공선성을 체크하기 위한 vif
      -> 해당 수학적인 부분은 개념적으로 이해하고 어떻게 사용하는지 알아야겠다.
      -> multicollinearity : 독립변수들 서로 간에 높은 상관관계가 있으면 안되는데, 높은 상관관계가 있어서(한 변수와 다른 변수가 거의 일치하듯이 비례하면) 회귀 분석의 전제 가정을 위배하는데, 해당 현상을 말한다.
    •    #prepare fit model with cross-validation
      folds = KFold(n_splits=5, shuffle=True, random_state=42)
      oof = np.zeros(len(df_train))
      predictions = np.zeros(len(df_test))
      feature_importance_df = pd.DataFrame()
          #run model
      for fold_, (trn_idx, val_idx) in enumerate(folds.split(df_train)):
          trn_data = lgb.Dataset(df_train.iloc[trn_idx][train_columns], label=y_reg.iloc[trn_idx])#, categorical_feature=categorical_feats)
          val_data = lgb.Dataset(df_train.iloc[val_idx][train_columns], label=y_reg.iloc[val_idx])#, categorical_feature=categorical_feats
    • 위는 KFold 객체와 그것을 이용해서 데이터를 나누는 방법이다.
profile
'어떻게든 자야겠어'라는 저 아이를 닮고 싶습니다

0개의 댓글