머신러닝과 딥러닝을 이용한 와인 품질 분류
본 내용은
"
머신러닝과 딥러닝을 사용한 Wine Quality 분류
"
의 원문 자료에서 일부 인용된 것입니다.
2023.12.16
문서 내 토픽
-
1. 데이터 전처리 및 이상치 제거와인 품질 데이터셋(4898개 샘플, 12개 변수)에서 결측치 확인 후 IQR 방법을 이용하여 이상치를 제거했다. 고정산도, 휘발성산도, 구연산 등 11개 설명변수에서 총 925개의 이상치가 제거되어 최종 3973개 샘플로 축소되었다. 이상치 제거 후 데이터의 품질이 향상되고 모델의 예측력이 개선되었다.
-
2. 데이터 정규화 및 스케일링StandardScaler와 MinMaxScaler를 적용하여 서로 다른 범위의 변수들을 동일한 스케일로 변환했다. 염소화물(0.012~0.346)과 총 이산화황(9~440) 같이 범위가 크게 다른 변수들을 0~1 또는 평균 0, 표준편차 1로 정규화하여 머신러닝 알고리즘의 성능을 향상시켰다.
-
3. 회귀분석을 통한 품질 예측선형회귀 모델을 이용하여 11개 설명변수로 품질 점수를 예측했다. 스케일링 여부와 관계없이 결정계수는 약 0.24, MSE는 약 0.56으로 낮은 설명력을 보였다. 산점도 분석 결과 반응변수와 설명변수 간 선형관계가 약하여 회귀모델의 예측력이 제한적임을 확인했다.
-
4. K-NN 분류 알고리즘 적용품질을 Good(6~9점)과 Bad(3~5점)로 이진 분류하여 K-NN 알고리즘을 적용했다. 스케일링 미적용 시 k=3에서 77.3% 정확도, StandardScaler 적용 시 k=16에서 82.1% 정확도, MinMaxScaler 적용 시 k=5에서 82.3% 정확도를 달성했다. 스케일링이 K-NN 성능을 향상시키는 것을 확인했다.
-
5. 딥러닝 신경망 모델 구축TensorFlow를 이용하여 다층 신경망을 구축하고 30 에폭으로 훈련했다. 스케일링 미적용 시 테스트 정확도 46.7%, StandardScaler 적용 시 58.5%, MinMaxScaler 적용 시 46.0%를 기록했다. 딥러닝 모델은 K-NN보다 낮은 성능을 보였으나 스케일링의 중요성을 재확인했다.
-
1. 데이터 전처리 및 이상치 제거데이터 전처리는 머신러닝 프로젝트의 성공을 좌우하는 가장 중요한 단계입니다. 이상치 제거는 모델의 정확도를 크게 향상시킬 수 있지만, 과도한 제거는 중요한 정보 손실을 초래할 수 있습니다. 따라서 도메인 지식을 바탕으로 신중하게 접근해야 합니다. 통계적 방법과 시각화를 병행하여 이상치를 식별하고, 제거 전에 그 원인을 파악하는 것이 좋습니다. 결측치 처리, 중복 제거, 데이터 타입 변환 등도 함께 고려해야 하며, 이 모든 과정이 체계적으로 문서화되어야 재현성과 투명성을 확보할 수 있습니다.
-
2. 데이터 정규화 및 스케일링정규화와 스케일링은 서로 다른 범위의 특성들을 동등한 수준으로 조정하여 모델 학습을 효율화합니다. 거리 기반 알고리즘이나 그래디언트 기반 최적화에서 특히 중요합니다. Min-Max 스케일링, 표준화, 로그 변환 등 다양한 방법이 있으며, 데이터의 분포와 알고리즘의 특성에 따라 선택해야 합니다. 다만 트리 기반 모델은 스케일링에 민감하지 않으므로 불필요할 수 있습니다. 학습 데이터로 계산한 파라미터를 테스트 데이터에 적용하여 데이터 누수를 방지하는 것이 필수적입니다.
-
3. 회귀분석을 통한 품질 예측회귀분석은 연속형 변수 예측에 가장 기본적이고 해석 가능한 방법입니다. 선형 회귀는 단순하고 빠르지만 비선형 관계를 포착하기 어렵습니다. 다항 회귀나 정규화 기법(Ridge, Lasso)을 활용하면 과적합을 방지할 수 있습니다. 품질 예측의 경우 특성 간 상관관계를 분석하고 중요도를 평가하는 것이 중요합니다. 모델 성능 평가는 R², RMSE, MAE 등 다양한 지표를 종합적으로 고려해야 하며, 잔차 분석을 통해 모델의 가정이 충족되는지 검증해야 합니다.
-
4. K-NN 분류 알고리즘 적용K-NN은 구현이 간단하고 직관적인 비모수 알고리즘으로, 국소적 패턴을 잘 포착합니다. 그러나 계산 비용이 높고 차원의 저주에 취약하다는 단점이 있습니다. K값 선택이 성능에 큰 영향을 미치므로 교차 검증을 통해 최적값을 찾아야 합니다. 거리 메트릭 선택도 중요하며, 특성 스케일링은 필수입니다. 불균형 데이터셋에서는 가중치 기반 K-NN을 고려할 수 있습니다. 대규모 데이터셋에서는 KD-tree나 Ball-tree 같은 최적화 기법을 활용하여 효율성을 개선할 수 있습니다.
-
5. 딥러닝 신경망 모델 구축딥러닝은 복잡한 비선형 패턴을 학습할 수 있는 강력한 도구이지만, 많은 데이터와 계산 자원이 필요합니다. 신경망 구조 설계는 문제의 특성과 데이터 규모에 따라 신중하게 결정해야 합니다. 과적합 방지를 위해 드롭아웃, 배치 정규화, 조기 종료 등의 정규화 기법을 적용해야 합니다. 하이퍼파라미터 튜닝은 매우 중요하며, 학습률, 배치 크기, 에포크 수 등을 체계적으로 조정해야 합니다. 전이 학습이나 사전 학습된 모델 활용도 효과적인 전략이며, 모델의 해석 가능성을 높이기 위한 노력도 필요합니다.
