들어가며
머신러닝 프로젝트에서 모델의 성능을 평가하는 첫 번째 단계는 베이스라인 모델을 설정하고 그 성능을 확인하는 것입니다. 베이스라인 모델은 기본 설정으로 실행되며, 데이터의 특성과 모델 간의 상호작용을 이해하는 데 중요한 역할을 합니다.
이번 장에서는 이전장에서 다룬 다양한 머신 러닝 분류 모델을 유방암 진단, 스팸 메일 분류, 와인 품질 평가 데이터에 적용한 결과를 분석합니다. 이러한 과정을 통해 머신러닝 모델의 초기 결과를 비교하며, 각 모델이 어떤 상황에서 강점을 발휘할 수 있는지 탐구해봅시다.
이번 ML pipline 시리즈의 학습코드는 아래링크에서 무료로 사용 가능합니다
https://github.com/Elec-Dong/Breast-Cancer-Wisconsin_binary_classification
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) 베이스 모델의 한계
이번 실험 결과는 기본 설정으로 실행된 모델의 성능을 보여줍니다. 이를 베이스라인 성능이라고 부르며, 이는 머신러닝 프로젝트의 출발점일 뿐 최종 결과는 아닙니다.
머신러닝 모델의 성능은 데이터를 어떻게 준비하고, 모델의 설정을 얼마나 세밀하게 조정하느냐에 따라 크게 달라질 수 있습니다. 앞으로의 단계에서는 아래와 같은 작업을 통해 모델 성능을 더욱 향상시킬 계획입니다:
- 데이터 준비 과정 개선
데이터를 더 깔끔하게 정리하고, 모델이 학습하기 쉽도록 정보를 재구성하는 작업을 진행합니다. 예를 들어, 데이터에서 누락된 값을 채우거나, 의미 있는 정보를 추가로 만들어낼 수 있습니다. - 모델 설정 최적화
각 모델에는 여러 설정 값(예: 모델이 얼마나 복잡해야 하는지, 학습 속도를 어떻게 조정할지 등)이 있습니다. 이 설정 값을 여러 번 테스트하며 가장 성능이 좋은 값을 찾아내는 작업을 통해 모델의 성능을 극대화할 수 있습니다. - 모델의 결합 방식 활용
하나의 모델만 사용하는 대신, 여러 모델의 결과를 합쳐 더 강력한 예측을 만드는 방법을 고려합니다. 이런 방식은 모델 하나가 놓친 부분을 다른 모델이 보완할 수 있어, 더 정확한 결과를 낼 수 있습니다.
지금 보여드린 결과는 기본 상태에서 각 모델이 얼마나 잘 작동하는지 비교하기 위한 첫 단계입니다. 하지만 데이터 준비와 모델 설정을 개선하면, 이 결과는 훨씬 더 나아질 수 있습니다. 앞으로 이러한 작업을 통해 모델의 성능을 어떻게 발전시킬 수 있는지 함께 탐구해 보겠습니다.
마무리: 기본 성능을 넘어, 최적화를 향한 준비
이번 장에서는 머신러닝의 대표적인 분류 모델인 Logistic Regression, Decision Tree, SVM, KNN, Random Forest, XGBoost를 사용하여, 각 모델의 기본 성능을 비교하고 분석하는 작업을 진행했습니다. 이를 통해 각 모델이 기본 설정에서 어떤 특징과 성능을 보이는지 확인하고, 이후 모델 개선을 위한 출발점을 마련했습니다.
현재의 결과는 베이스라인 성능으로, 데이터 정리와 모델 설정 작업이 추가되면 성능은 크게 개선될 가능성이 있습니다. 앞으로의 단계에서는 데이터를 더 정돈하고, 모델의 세부 설정을 조정하며, 여러 모델을 조합하는 방식으로 성능을 더욱 끌어올릴 예정입니다.
다음 장에서는 데이터 전처리와 모델 최적화를 통해 모델이 더욱 좋은 결과를 낼 수 있도록 준비하는 과정을 다룰 예정입니다. 이 과정을 통해 머신러닝 프로젝트가 발전해가는 과정을 함께 탐구해봅시다. 😊
'Background > ML Pipeline' 카테고리의 다른 글
머신러닝의 기초와 분류 문제 해결의 첫걸음 (3) 기초 사용법과 실무적 통찰 (0) | 2024.12.09 |
---|---|
머신러닝의 기초와 분류 문제 해결의 첫걸음 (2) 실습데이터 소개와 머신러닝 엔지니어의 자세 (0) | 2024.12.08 |
머신러닝의 기초와 분류 문제 해결의 첫걸음 (1) 머신러닝의 시작: 문제 정의, 학습 방법, 문제 해결의 흐름 (1) | 2024.12.07 |
머신러닝의 기본과 프로젝트 성공의 열쇠 (2) 머신러닝 엔지니어가 꼭 알아야 할 프로젝트의 진짜 모습 (0) | 2024.12.01 |
머신러닝의 기본과 프로젝트 성공의 열쇠 (1) 머신러닝 모델이 데이터를 처리하는 방식 (0) | 2024.11.30 |