본문 바로가기

Lecture ML

(36)
머신러닝 강좌 #4] 데이터 전처리 - 레이블 인코딩, 원-핫 인코딩 데이터 전처리(Data Preprocessing)은 머신러닝을 하는 데 있어 매우 중요합니다. 머신러닝에서는 결손값, 즉 NaN, Null값은 허용되지 않습니다. 따라서 이러한 Null값은 고정된 다른 값으로 변환해야 합니다. Null값을 어떻게 처리해야 할지는 경우에 따라 다릅니다. Feature값 중 Null값이 얼마 되지 않는다면 피처의 평균값 등으로 간단하게 대체될 수 있으나 Null값이 대부분이라면 오히려 해당 피처는 드롭하는 것이 더 좋습니다. 이렇게 사이킷런의 머신러닝 알고리즘은 문자열 값을 입력 값으로 허용하지 않습니다. 그래서 모든 문자열 값은 인코딩 돼서 숫자 형으로 변환해야 합니다. 카테고리형 피처는 코드값으로 표현하는 게 더 이해하기 쉬울 것 같습니다. 반면 텍스트형 피처는 피처 벡..
머신러닝 강좌 #3] GridSearchCV - 교차 검증과 최적 하이퍼 파라미터 튜닝을 한 번에 하이퍼 파라미터는 머신러닝 알고리즘을 구성하는 주요 구성 요소이며, 이 값을 조정해 알고리즘의 예측 성능을 개선할 수 있습니다. 사이킷런은 GridSearchCV API를 이용해 Classifier나 Regressor와 같은 알고리즘에 사용되는 하이퍼 파라미터를 순차적으로 입력하면서 편리하게 최적의 파라미터를 도출할 수 있는 방안을 제공합니다. 예를 들어 DecisionTree 알고리즘의 여러 하이퍼 파라미터를 순차적으로 변경하면서 최고 성능을 가지는 파라미터 조합을 찾고자 한다면 다음과 같이 파라미터의 집합을 만들고 이를 순차적으로 적용하면서 최적화를 수행할 수 있습니다. grid_parameters = {'max_depth': [1,2,3], 'min_samples_split': [2,3]} 이럴경우..
머신러닝 강좌 #2] 교차검증에 대해 알고리즘을 학습시키는 학습 데이터와 이에 대한 예측 성능을 평가하기 위한 별도의 테스트용 데이터가 필요합니다. 이를 위해 train_test_split 함수를 많이 사용을 하는데요. 하지만 이 방법 역시 과적합(Overfitting)에 취약한약점을 가지고 있습니다. 하지만 이 방법 역시 과적합(Overfitting)의 우려가 있습니다. 과적합은 모델이 학습 데이터에만 과도하게 최적화되어, 실제 예측을 다른 데이터로 수행할 경우에는 예측 성능이 떨어지는 경우를 말합니다. 이런 과적합의 오류를 수정하기 위해 교차 검증은 이러한 데이터 편증을 막기 위해서 별도의 여러 세트로 구성된 학습 데이터 세트와 검증 데이터 세트에서 학습과 평가를 수행하는 것입니다. 이런 교차검증 방법에는 K-Fold, Stratifie..
머신러닝 강좌 #1] 나의 첫번째 머신러닝 프로그램 sklearn을 이용한 첫 번째 머신러닝 프로그램은 대중적으로 많이 알고 있는 iris Data Set을 이용한 꽃받침의 길이와 너비 피처(feature)를 기반으로 꽃의 품종을 예측하는 내용입니다. 분류(Classification)는 대표적인 지도 학습(Supervised Learning) 방법의 하나입니다. 지도 학습은 학습을 위한 다양하 피처와 분류 결정 값인 레이블(Label) 데이터로 모델을 학습한 뒤, 별도의 테스트 데이터 세트에서 미지의 레이블을 예측합니다. 즉 지도 학습은 명확한 정답이 주어진 데이터를 먼저 학습 한 뒤 미지의 정답을 예측하는 방식입니다. 이때 학습을 위해 주어진 데이터 세트를 학습 데이터 세트, 머신러닝 모델의 예측 성능을 평가하기 위해 별도로 데이터 세트를 테스트 데이터..