1. 교차 검증의 필요성 머신 러닝 모델을 학습시킬 때 학습을 위한 학습 데이터, 그리고 예측 성능을 평가하기 위한 테스트 데이터가 있다. 그러나 이렇게 위의 방법은 과적합(Overfitting)의 위험이 있다. 과적합이란, 모델이 학습 데이터를 과도하고 학습하여 실제 데이터에 대해 오차가 증가하는 현상이다. 이로 인해 예측을 다른 데이터로 수행할 경우에는 예측 성능이 떨어지게 되는 것을 말한다. 이를 개선하기 위한 방법으로는 교차 검증이 있다. 교차검증은 학습 데이터를 다시 분할하여 학습 데이터와 학습된 모델의 성능을 일차 평가하는 검증데이터로 나눈다. 그리고 테스트 데이트 세트는 모든 학습/검증 과정이 완료된 후 최종적으로 성능을 평가하기 위한 데이터 세트이다. 수능을 예시로 들면 수능을 보기 위해 ..
ML
사이킷런에서는 여러 예제를 제공하고 있는데 그 중 많이 사용되는 것이 붓꽃 데이터를 이용하여 품종을 분류할 수 있다. 붓꽃 데이터 세트에서 꽃잎의 길이와 너비, 꽃받침의 길이와 너비 4개의 feature를 기반으로 품종을 예측할 수 있다. 1. 붓꽃 품종 예측 프로세스 데이터 세트 분리 : 데이터를 학습 데이터와 테스트 데이터로 분리 모델 학습 : 학습 데이터를 기반으로 ML 알고리즘을 적용하여 모델 학습 예측 수행 : 학습된 ML 모델을 이용해 텟흐트 데이터의 분류를 예측 평가 : 이렇게 예측된 결과값과 테스트 데이터의 실제 결과값을 비교하여 ML 모델의 성능을 평가 2. 실습 - 데이터 세트 분리 제공되는 붓꽃 데이터는 다음과 같이 구성되어 있다. 타켓 데이터 : setosa, versicolor, ..
1. 사이키런이란? 파이썬 기반에서 머신러닝 분석을 위해 사용할 수 있는 라이브러리이다. 머신러닝을 위한 다양한 알고리즘과 개발을 위한 편리한 프레임워크, 그리고 API를 제공한다. 주로 Numpy와 Scipy 기반 위에서 구축된 라이브러리 오랜 기간 실전 환경에서 검증되었다. 2. fit()과 predict() 사이킷런은 분류(Classifiacation)와 회귀(regression)의 다양한 알고리즘을 fit()과 predict() 함수로 간단하게 학습과 예측을 할 수 있다. ML 모델 학습을 위해서 fit() 함수를 사용하고, 학습된 모델의 예측을 위해서는 predict() 함수를 사용한다. 분류 알고리즘으로는 Classifier, 회귀 알고리즘으로는 Regressor로 지칭하고 이 2개를 합쳐서 ..