AI/Kaggle

Walmart Recruiting - Store Sales Forecasting

반응형

참고 코드 Github : bit.ly/3dPkqss

위 링크에서 실습한 코드를 참고해주세요
Followstar 해주시면 감사합니다 👍👍

  • 입력 데이터 Columns
    • Store : 상점 번호(1~45)
    • Dept : 부서
    • Date : 날짜
    • IsHoliday : 특별한 날인지
    • Temperature : 온도
    • Fuel_Price : 유가
    • CPI : 소비자물가지수
    • Unemployment : 실업률
  • 결과 데이터 Columns
    • Weekly Sales : 지정된 상점에서 지정된 부서의 판매
  1. 데이터 시각화
    1. holiday별 매출 평균 비교 
    2. Untitled
    3. Untitled 1
    4. 데이터 시각화 결과 기념일이 있을 때 매출액이 상대적으로 조금 높은것을 알 수 있다
    5. 부서별 매출
      Untitled 2
    6. 각 부서별 매출액을 데이터 시각화한 결과 부서별로 매출액이 차이가 있음을 알 수 있다.
    7. 지점별 총 매출
      Untitled 3
    8. 위그래프는 지점별 매출합 아래그래프는 지점별 매출 평균을 나타낸다 이와같이 지점별로 차이가 있는 것을 알 수 있다
    9. 날짜별 매출
      Untitled 4
    10. 날짜별 매출을 시각화 한 결과 연말마다 매출액이 급증하는 것을 알 수 있다. 참고로 연말에 미국의 추수감사절과 크리스마스가 있어 이러한 그래프를 보이는 것으로 확인된다.
    11. 온도별 매출
      Untitled 5
    12. 추가 feature에 있던 온도는 매출액과 상관관계가 없음을 알 수 있다.
    13. 유가별 매출
      Untitled 6
    14. 유가 또한 매출액 데이터와의 상관관계가 없는것을 알 수 있다.
  2. 데이터 전처리입력 데이터 중 날짜데이터의 경우 각 연도의 주간 매출을 보았을 경우 유사한 흐름을 볼 수 있다. 따라서 날짜 데이터를 주간 데이터로 바꾸어 1 ~ 52 사이의 값으로 처리해주었다. 연도 단위는 최소 20개이상의 연도가 있어야 데이터의 상관관계를 알 수 있지만 데이터가 3개밖에없으므로 학습 파라미터에 추가하지 않았다.
  3. Untitled 7
  4. 데이터간에 큰차이가 있지않아 데이터 스케일링과정을 하지않았다.
  5. 머신러닝 모델LinearRegression, DecisionTree, RandomForest
    • 결과
    • Untitled 8
    • 모델 최적화
        from sklearn.model_selection import GridSearchCV
      
        params ={
            'n_estimators':[50, 100],
            'max_depth':[8,16,32,64],
            'min_samples_leaf':[1,2,3],
            'min_samples_split':[3,4,5,6]
        }
      
        rf_optimize = RandomForestRegressor(random_state=0, n_jobs=-1)
        grid_cv = GridSearchCV(rf_optimize, param_grid=params, cv=2, n_jobs=-1)
        grid_cv.fit(x_train, y_train)
      결과해당 파라미터를 활용하여 다시 학습 결과이전 성능이 높아서 성능 증가 비율은 높지는 않지만 결과적으로 성능이 증가했다.
    • Untitled 10
    • Untitled 9
    • 가장 좋은 성능을 가진 RandomFroestRegressor의 Hyper parameter를 찾아 모델을 최적화하였습니다.
  6. 여러개의 feature중에 상관관계가 있는 것을 feature로 정하였기 때문에 Decision Tree, RandomForest와 같은 머신러닝이 적합하다 생각하여 머신러닝 모델로 선택하게 되었습니다.
  7. 추론 및 결과 제출
    Untitled 11
    12년도 말 부터 13년도 까지의 데이터 중순까지의 데이터로 시각화한 결과학습데이터와 유사한 형태를 보여주고 있다.
  8. Untitled 13
  9. Untitled 12
  10. Test data를 똑같이 데이터 전처리와 최적화된 Random Forest에 적용하여 결과를 추론하였다.
  11. Kaggle Competition에 제출
    Untitled 15
  12. 최종적으로 약 268등의 결과를 낼 수 있었다.
  13. Untitled 14
반응형

'AI > Kaggle' 카테고리의 다른 글

Bag of Words Meets Bag of Popcorn 실습  (1) 2021.07.07