Kaggle_beginner :자전거 대여 수요 예측

신정우·2022년 9월 10일
0

Kaggle_begginer

목록 보기
1/1

자전거 대여 수요 예측 경진대회

대회 링크 :링크텍스트
문제 유형 : 회귀
평가 지표 : RMSLE
참조 코드 : 링크텍스트

EDA 및 시각화

1) EDA

  1. 피처 확인

  2. 훈련 데이터 피처확인

  3. datetime 피처 year, month, day , hour , minute, seconds로 분리

  4. 시각화 용이하게 double로 되어있는 범주형 데이터들 문자열로 변환

2) 시각화

  1. 타깃값 분포 확인 ?: 회귀모델이 좋은 성능을 내려면 타깃 값이 정규분포를 따르는게 좋기 때문

    - 왼쪽으로 편향되어있음
    - 정규분포에 가까운 형태로 바꾸기 위해 로그변환을 취해봄

  2. 시간데이터 막대그래프로 시각화


    - 연도는 11년<12년
    - 6월 에 가장 많고 1월에 가장 적음 날씨가 따뜻할 수록 대여수량 많은가?
    - 일별 데이터에는 크게 차이 없다 + test는 20일 이후로 train 과 test는 공통된 값 x 그러므로 day 제거
    - 새벽 4시에 최저값 아침 8시 오후 5~6시 값 높다 출퇴근 시간 등하교 시간 많이 이용?
    - 분 초별 데이터 무엇? -> 모두 0으로 기록 되어있음 그러므로 의미 X -> 제거
    결과: day , minute, second 피처 제거

  3. 범주형 데이터의 수치분포 박스 플롯으로 확인 (계절, 날씨, 공휴일여부, 근로일 여부)

    - 봄에 가장 적고 가을에 가장 많다.
    - 날씨가 좋을 때 가장 많고, 안좋을수록 수량 적다
    - 공휴일 일떄와 아닐때의 중앙값은 비슷 하지만 공휴일 아닐 때 이상치가 많다.
    - 근무일 또한 마찬가지

  4. 시계열 데이터 포인트플롯으로 확인

    - 출퇴근 시간에 대여 수량이 많고 쉬는날에는 오후 12~2시에 가장 많다.
    - 공휴일 여부
    - 요일에 따른 포인트플롯도 근무일 여부에 따른 포인트 플롯과 비슷한 양상을 보인다.
    - 가을이 가장 많고 봄이 가장 적다
    - 날씨가 가장 좋을 때 대여량 많다. 근데 특이하게 날씨가 제일 안좋을 저녁 6시에 대여 건수가 있다. 이런 이상치는 제거를 고려해보는것도 괜찮긴함 실제로 이 데이터를 제거한 경우 최종 모델 성능이 좋았다.-> 제거
    - weather ==4 인 데이터 제거

  5. 연속형 데이터 산점도 및 회귀선 확인 (회귀선을 포함 산점도 그래프)

    - 회귀선 기울기로 대략적인 추세 파악 가능
    - 1,2 그래프에서 온도와 체감온두가 높을수록 대여 수량이 많다.
    - 습도가 낮을 수록 대여를 많이한다.
    - 풍속이 셀수록 대여수량이 많다 -> ? 실제풍속이 0이 아니라 관측치가 없거나 오류로 인해 0으로 기록될 확률 존재, 결측값이 많은 데이터는 다른 값으로 대체하거나 삭제 -> 삭제
    - windspeed 피처 제거

  6. 수치형 데이터 간 상관관계 확인 (히트맵)

    - 타깃 값인 count와의 상관관계가 중요
    - 온도와 대여수량은 0.39로 양의 상관관계
    - 습도는 음의 상관관계
    - 풍속은 매우 약한 상관관계 -> 제거?

모델링

1) 평가지표 함수 작성 :RMSLE

2) 모델 평가 ( 하이퍼파리미터 : 그리드서치 사용)

  1. 선형회귀분석
  • 결과 : 제출 평가점수는 1.02142 로 2773등 즉 상위 85.5% 성능개선 필요
  1. 릿지

  2. 라쏘

  • 릿지랑 라쏘는 큰 성능향상을 보이지 못함
  1. 랜덤포레스트 회귀
  1. 제출
  • 결과: 상위 10% 안에 드는 결

0개의 댓글