반응형
참고 코드 Github : bit.ly/3dPkqss
위 링크에서 실습한 코드를 참고해주세요
Follow와 star 해주시면 감사합니다 👍👍
- 입력 데이터 Columns
- Store : 상점 번호(1~45)
- Dept : 부서
- Date : 날짜
- IsHoliday : 특별한 날인지
- Temperature : 온도
- Fuel_Price : 유가
- CPI : 소비자물가지수
- Unemployment : 실업률
- 결과 데이터 Columns
- Weekly Sales : 지정된 상점에서 지정된 부서의 판매
- 데이터 시각화
- holiday별 매출 평균 비교
-
- 데이터 시각화 결과 기념일이 있을 때 매출액이 상대적으로 조금 높은것을 알 수 있다
- 부서별 매출
- 각 부서별 매출액을 데이터 시각화한 결과 부서별로 매출액이 차이가 있음을 알 수 있다.
- 지점별 총 매출
- 위그래프는 지점별 매출합 아래그래프는 지점별 매출 평균을 나타낸다 이와같이 지점별로 차이가 있는 것을 알 수 있다
- 날짜별 매출
- 날짜별 매출을 시각화 한 결과 연말마다 매출액이 급증하는 것을 알 수 있다. 참고로 연말에 미국의 추수감사절과 크리스마스가 있어 이러한 그래프를 보이는 것으로 확인된다.
- 온도별 매출
- 추가 feature에 있던 온도는 매출액과 상관관계가 없음을 알 수 있다.
- 유가별 매출
- 유가 또한 매출액 데이터와의 상관관계가 없는것을 알 수 있다.
- 데이터 전처리입력 데이터 중 날짜데이터의 경우 각 연도의 주간 매출을 보았을 경우 유사한 흐름을 볼 수 있다. 따라서 날짜 데이터를 주간 데이터로 바꾸어 1 ~ 52 사이의 값으로 처리해주었다. 연도 단위는 최소 20개이상의 연도가 있어야 데이터의 상관관계를 알 수 있지만 데이터가 3개밖에없으므로 학습 파라미터에 추가하지 않았다.
-
- 데이터간에 큰차이가 있지않아 데이터 스케일링과정을 하지않았다.
- 머신러닝 모델
LinearRegression
,DecisionTree
,RandomForest
- 결과
-
- 모델 최적화
결과해당 파라미터를 활용하여 다시 학습 결과이전 성능이 높아서 성능 증가 비율은 높지는 않지만 결과적으로 성능이 증가했다.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)
-
-
- 가장 좋은 성능을 가진 RandomFroestRegressor의 Hyper parameter를 찾아 모델을 최적화하였습니다.
- 여러개의 feature중에 상관관계가 있는 것을 feature로 정하였기 때문에 Decision Tree, RandomForest와 같은 머신러닝이 적합하다 생각하여 머신러닝 모델로 선택하게 되었습니다.
- 추론 및 결과 제출
12년도 말 부터 13년도 까지의 데이터 중순까지의 데이터로 시각화한 결과학습데이터와 유사한 형태를 보여주고 있다.
-
-
- Test data를 똑같이 데이터 전처리와 최적화된 Random Forest에 적용하여 결과를 추론하였다.
- Kaggle Competition에 제출
- 최종적으로 약 268등의 결과를 낼 수 있었다.
-
반응형
'AI > Kaggle' 카테고리의 다른 글
Bag of Words Meets Bag of Popcorn 실습 (1) | 2021.07.07 |
---|