본문 바로가기

🛠머신러닝

[머신러닝] 캐글 자전거 대여 수요 예측 & 데이터 다운

반응형

[〚머신러닝〛] - [머신러닝] 회귀(regression)-1 : 최소제곱법, 비용함수(Cost function), 경사하강법(Gradient Descent), MSE(Mean Sqared Error), R-squre(결졍계수)

 

[머신러닝] 회귀(regression)-1 : 최소제곱법, 비용함수(Cost function), 경사하강법(Gradient Descent), MSE(Mean

1. 회귀(regression)란? 회귀(regression)는 여러 개의 x와 한 개의 y사이의 관계를 하나의 수식으로 나타내는 기법이다. 예를 들어, '집의 가격'은 지역, 역세권, 학군, 집의 크기 등의 여러 가지 요소로

bigdaheta.tistory.com

지금까지 공부한 머신러닝 '회귀'를 바탕으로, 캐글의 자전거 대여 수요를 예측하는 대회에서 사용된 데이터를 이용하여 회귀 모델을 모델링& 평가를 해보려 한다. 단순히 내용 리뷰를 하지는 않을 것이며, 연습하면서 새로 알게 된 것이나 어려웠던 것들을 위주로 정리해보려 한다.

 

 

 


▼ 데이터 다운로드(캐글 홈페이지) ▼

www.kaggle.com/c/bike-sharing-demand

 

Bike Sharing Demand

Forecast use of a city bikeshare system

www.kaggle.com

 

혹은 여기서 바로 다운

train.csv
0.62MB
test.csv
0.31MB

 

 

 


📌 concat / axis = 0 / reset_index( )

 

 

 

concat을 이용하여 두 데이터 프레임을 붙이는데, axis = 0이라는것은 아래에 붙인다는 의미이다. (df1 아래에 df2을 붙인다.) 이때 reset_index( )를 사용하는 이유는 두 데이터 프레임 모두 0부터 시작해서 번호가 매겨져 있기 때문에 그냥 붙이게 되면 인덱스가 중복이 되기 때문에 reset_index를 해주는 게 좋다.

 

axis=0과 axis=1은 사용할 때마다 헷갈리곤 했는데, 이번 기회에 확실하게 알게 되었다.

 

 

 

 

📌 subplots

bigdaheta.tistory.com/18

 

[TIL] 2021-02-16 : subplots / 확증적 데이터 분석(CDA) / shape() / corr()

📌  subplot ➰실제로 썼던 코드 ➰ 간소화해서 정리 figure, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2) figure.set_size_inches(16,8) sns.barplot(data=total2, x='년도', y='count', ax=a..

bigdaheta.tistory.com

subplots 사용하는 구체적인 방법은 이곳에 정리했다. 여태까지는 시각화를 할 때 변수 하나하나 그렸는데 한 번에 그리는 방법을 처음 알게 되어서 앞으로 자주 사용하게 될듯하다. 

 

 

 

📌  정규성 파악

 

이번 연습에서 잘 안되었던 것 중 하나가 데이터가 정규분포를 그리고 있는지 확인하는 것인데, 사실 어떻게 하는 것인지 이해가 되지 않고 있다가. 참고 자료를 찾아서 따라 해 봤다. 원래 데이터를 가지고 정규성을 확인해 봤을 때는 위쪽의 2 그래프와 같이 정규성이 많이 깨져있는 것을 알 수 있었는데, 아웃라이어를 제거한 뒤 정규분포를 확인했을 때는 그 전보다는 정규성을 보이고 있다. 사실 이것도 완전한 정규분포라고 할 수는 없지만! 이러한 작업을 하기 전, 후를 비교했을 때 실제로 모델 평가 단계에서 R squred의 수치가 조금 상승했고, MSE는 하락했다.

 

 

 


 

 

📌 연습 코드

자전거수요예측.ipynb
0.66MB

 


 

📌 참고 문헌

1. www.boostcourse.org/ai222/lecture/24523

2. github.com/corazzon/KaggleStruggle/blob/master/bike-sharing-demand/bike-sharing-demand-EDA.ipynb

 

 

반응형