Background/ML Pipeline

머신러닝의 기초와 분류 문제 해결의 첫걸음 (4) 분류 모델 결과와 앞으로의 방향

ELEC-Dong 2024. 12. 10. 18:00

들어가며

머신러닝 프로젝트에서 모델의 성능을 평가하는 첫 번째 단계는 베이스라인 모델을 설정하고 그 성능을 확인하는 것입니다. 베이스라인 모델은 기본 설정으로 실행되며, 데이터의 특성과 모델 간의 상호작용을 이해하는 데 중요한 역할을 합니다.

이번 장에서는 이전장에서 다룬 다양한 머신 러닝 분류 모델을 유방암 진단, 스팸 메일 분류, 와인 품질 평가 데이터에 적용한 결과를 분석합니다. 이러한 과정을 통해 머신러닝 모델의 초기 결과를 비교하며, 각 모델이 어떤 상황에서 강점을 발휘할 수 있는지 탐구해봅시다.

 

이번 ML pipline 시리즈의 학습코드는 아래링크에서 무료로 사용 가능합니다

https://github.com/Elec-Dong/Breast-Cancer-Wisconsin_binary_classification

 

GitHub - Elec-Dong/Breast-Cancer-Wisconsin_binary_classification

Contribute to Elec-Dong/Breast-Cancer-Wisconsin_binary_classification development by creating an account on GitHub.

github.com

 

 

1. 실험 결과

Model 유방암 진단 스팸 메일 분류 와인 품질 평가
Logistic Regression 0.956140 0.930510 0.731250
Decision Tree 0.894737 0.930510 0.718750
SVM 0.921053 0.714441 0.631250
KNN 0.956140 0.814332 0.637500
Random Forest 0.973684 0.952226 0.809375
XGBoost 0.964912 0.954397 0.796875

2. 결과 분석

1) 데이터별 주요 특징

  • 유방암 진단:
    Random Forest와 XGBoost가 가장 높은 정확도를 기록했으며, Logistic Regression과 KNN도 안정적인 성능을 보여줬습니다.
    Decision Tree는 상대적으로 낮은 성능을 보였지만, 단순한 규칙 기반으로도 실용 가능성을 나타냈습니다.
  • 스팸 메일 분류:
    XGBoost와 Random Forest가 가장 높은 성능을 보였습니다. Logistic Regression과 Decision Tree도 준수한 성능을 기록했지만, SVM은 데이터 특성에 맞지 않아 낮은 성능을 보였습니다.
  • 와인 품질 평가:
    Random Forest와 XGBoost가 가장 높은 정확도를 기록했습니다. Logistic Regression과 Decision Tree는 중간 정도의 성능을 보였으며, SVM과 KNN은 상대적으로 낮은 성능을 보였습니다.

2) 베이스 모델의 한계

이번 실험 결과는 기본 설정으로 실행된 모델의 성능을 보여줍니다. 이를 베이스라인 성능이라고 부르며, 이는 머신러닝 프로젝트의 출발점일 뿐 최종 결과는 아닙니다.

머신러닝 모델의 성능은 데이터를 어떻게 준비하고, 모델의 설정을 얼마나 세밀하게 조정하느냐에 따라 크게 달라질 수 있습니다. 앞으로의 단계에서는 아래와 같은 작업을 통해 모델 성능을 더욱 향상시킬 계획입니다:

  1. 데이터 준비 과정 개선
    데이터를 더 깔끔하게 정리하고, 모델이 학습하기 쉽도록 정보를 재구성하는 작업을 진행합니다. 예를 들어, 데이터에서 누락된 값을 채우거나, 의미 있는 정보를 추가로 만들어낼 수 있습니다.
  2. 모델 설정 최적화
    각 모델에는 여러 설정 값(예: 모델이 얼마나 복잡해야 하는지, 학습 속도를 어떻게 조정할지 등)이 있습니다. 이 설정 값을 여러 번 테스트하며 가장 성능이 좋은 값을 찾아내는 작업을 통해 모델의 성능을 극대화할 수 있습니다.
  3. 모델의 결합 방식 활용
    하나의 모델만 사용하는 대신, 여러 모델의 결과를 합쳐 더 강력한 예측을 만드는 방법을 고려합니다. 이런 방식은 모델 하나가 놓친 부분을 다른 모델이 보완할 수 있어, 더 정확한 결과를 낼 수 있습니다.

지금 보여드린 결과는 기본 상태에서 각 모델이 얼마나 잘 작동하는지 비교하기 위한 첫 단계입니다. 하지만 데이터 준비와 모델 설정을 개선하면, 이 결과는 훨씬 더 나아질 수 있습니다. 앞으로 이러한 작업을 통해 모델의 성능을 어떻게 발전시킬 수 있는지 함께 탐구해 보겠습니다.

 

 

마무리: 기본 성능을 넘어, 최적화를 향한 준비

이번 장에서는 머신러닝의 대표적인 분류 모델인 Logistic Regression, Decision Tree, SVM, KNN, Random Forest, XGBoost를 사용하여, 각 모델의 기본 성능을 비교하고 분석하는 작업을 진행했습니다. 이를 통해 각 모델이 기본 설정에서 어떤 특징과 성능을 보이는지 확인하고, 이후 모델 개선을 위한 출발점을 마련했습니다.

현재의 결과는 베이스라인 성능으로, 데이터 정리와 모델 설정 작업이 추가되면 성능은 크게 개선될 가능성이 있습니다. 앞으로의 단계에서는 데이터를 더 정돈하고, 모델의 세부 설정을 조정하며, 여러 모델을 조합하는 방식으로 성능을 더욱 끌어올릴 예정입니다.

다음 장에서는 데이터 전처리와 모델 최적화를 통해 모델이 더욱 좋은 결과를 낼 수 있도록 준비하는 과정을 다룰 예정입니다. 이 과정을 통해 머신러닝 프로젝트가 발전해가는 과정을 함께 탐구해봅시다. 😊