본문 바로가기
DL|ML

<혼자 또는 같이하는 머신러닝 스터디 잼> Intro to Machine Learning Course 요약

by 이든Eden 2021. 4. 2.

첫 번째 코스 Intro to Machine Learning Course의 요약이다. 티셔츠에 한 걸음 다가간다. Comptetitions Contributor도 받았다. 오예~

 

 

Lesson 2. Basic Data Exploration

pandas.DataFrame.describe() : dataframe 통계량 요약

pandas.DataFrame.head() : dataframe 첫 5줄(default=5) 확인

pandas.DataFrame.tail() : dataframe 마지막 5줄(default=5) 확인

 

Lesson 3. Your First Machine Learning Model

Dataframe에서 원하는 컬럼 값(feature) 추출하기

melbourne_features = ['Rooms', 'Bathroom', 'Landsize', 'Lattitude', 'Longtitude']
X = melbourne_data[melbourne_features]

 

Lesson 4. Model Validation

Mean Absolute Error

| error=actual−predicted |

 

데이터 셋에서 초록문을 가진 집이 비싸다고 한다. 모델이 하는 일은 데이터로부터 패턴을 파악해서 집의 가격을 알아내는 것이므로, 학습하다보면 초록문을 가진 집이 비싸다는 것을 알게될 것이다. 그러나 그 패턴은 train 데이터로부터 만들어진 것이고 새로운 데이터가 들어갔을 때는 원하는 만큼의 성능(performance)가 나오지 않을 수도 있다. 이러한 문제를 해결하기 위해서 모델이 단 한 번도 보지 못한 데이터로 모델의 정확도(accuracy)를 계산하여 모델의 성능을 테스트해본다. 그 데이터를 validation 데이터라고 부른다.

 

Lesson 5. Underfitting and Overfitting

Decision tree에서 집 값을 많은 leaves로 나누는데, 심지어 집 개수보다도 leaves가 더 많으면 실제 값과 비슷한 결과를 얻겠지만 새로 들어오는 데이터에 대해서는 신뢰할 수 없는 결과를 줄 것이다. 이런 현상을 overfitting이라고 한다. 모델이 train 데이터에 거의 완벽하게 피팅되어 validation 데이터 혹은 새 데이터에 대해 엉망인 결과를 내보내는 것이다.

 

반대로 tree가 겨우 2개 혹은 4개 정도의 leaves로 집값을 예측한다면 각 그룹마다 속할 수 있는 범위가 너무 크다. 이렇게 모델이 데이터의 중요한 구분점이나 패턴을 알아차리는 것을 실패하고 train 데이터에서 조차 예측을 하지 못하는 것을 underfitting이라고 한다.

 

Underfitting과 Overfitting

 

Lesson 6. Random Forest

많은 leaves를 가진 깊은(deep) Decision tree는 overfitting이 되기 쉽다. 하지만 트리가 얕으면 underfitting이 되기 쉽다. Decision tree의 이런 약점을 보완하기 위해 많은 아이디어 중 random forest 라는 방법도 있다.

 

Random Forest는 많은 트리들을 사용하고 각 트리의 평균을 이용해 예측을 한다. 보통은 이 방법이 한 개의 decision tree를 이용하는 것 보다 좋은 성능을 보인다.