파이썬(Python)/ML & Deep Learning

[Project] 머신러닝 회귀 모델 활용 학생 성적 예측 사례 : Kaggle 교육 데이터를 중심으로

DA Damla 2025. 4. 12. 15:59

데이터 분석 입문자, 머신러닝 공부 중인 분들, 그리고 셀프 스터디로 실력을 키우고 싶은 분들께 실무에 가까운 분석 흐름을 소개하고자 작성함.

 

아래 글에서는 교육 데이터를 활용해 학생 성적 예측 모델을 구축하는 머신러닝 회귀 프로젝트를 진행했으며, 분석 흐름과 예측 성능을 정리했음.

 

이 프로젝트는 Kaggle의 공개된 교육 데이터를 기반으로 하여, 교육 데이터 분석과 회귀 모델 비교를 실습하고자 하는 학습자에게 좋은 예제가 될 수 있음. 머신러닝 입문 실습을 진행하거나 실무 데이터 분석 예제를 찾는 독자에게도 적합함.


✔ 프로젝트 개요

  • 주제: 학생의 점심 급식 유형, 학부모 교육 수준 등의 정보를 바탕으로 평균 성적 예측
  • 활용 목적: 개인 맞춤형 학습 설계, 등록 절차 간소화 등 서비스 자동화에 활용 가능
  • 사용 도구: Python, pandas, seaborn, scikit-learn, xgboost, lightgbm 등 머신러닝 라이브러리
  • 데이터 출처: Kaggle - Students Performance in Exams

🔍 데이터 구성 및 설명

  • 변수 정보:
    • gender (성별)
    • lunch (급식 유형)
    • test preparation course (시험 준비 여부)
    • parental level of education (학부모의 교육 수준)
    • score_average (수학, 읽기, 쓰기 점수의 평균)

데이터는 범주형 변수 인코딩 및 평균 점수 계산 과정을 거쳐 모델 입력용으로 전처리함. 인코딩 방식에는 get_dummies(원핫인코딩) 및 map 사용.


🎯 문제 정의 및 해결 전략

문제 상황

학생 개개인의 배경 정보를 활용하여 향후 평균 점수를 예측하고, 이를 기반으로 맞춤형 학습 서비스 제공

해결 방안

  • 다양한 회귀 모델을 적용해 예측 성능을 비교
  • 최종적으로 Ridge 회귀 모델을 챔피언 모델로 선정하고 .pkl 파일로 저장

🛠 분석 흐름 요약

  • 데이터 탐색(EDA) 및 시각화 → 변수 간 관계 확인
  • 데이터 분할 및 모델 학습 → Linear, Ridge, Lasso, RF, XGBoost 등 회귀 모델 비교 수행
  • 교차검증(Cross Validation) → 모델 안정성 확인
  • 하이퍼파라미터 튜닝(GridSearchCV) → 최적화 진행
  • 최종 테스트 및 결과 저장 및 ML 모델 저장 및 서빙 고려

📈 예측 성능 지표 : RMSE | MAE | Accuracy

머신러닝 회귀 성능을 아래 세 가지 지표로 평가함. 본래 회귀분석에는 RMSE, MAE와 같은 오차 기반 지표가 주로 사용되며, 추가로 ±5% 이내 예측 정확도를 의미하는 비공식 지표인 Accuracy를 포함함.

  • ↗️ 낮을수록 좋음
    • RMSE: 평균 제곱근 오차 → 예측 정확도
    • MAE: 평균 절대 오차
  • ↙️ 높을수록 좋음
    • Accuracy: 예측값이 실제값과 ±5% 이내일 확률 (정확도 지표 아님)

🧪 실험 결과 요약

✅ 1차 실험 결과

  • Ridge 모델이 테스트 데이터에서 가장 안정적인 성능 보임
  • 트리 모델은 학습 데이터 성능은 우수하나, 테스트 데이터로 예측시 과적합 가능성 확인됨

✅ 3차 실험 결과 (교차 검증 적용)

  • Ridge 모델 평균 RMSE: 12.483 / 표준편차: 0.781
  • 선형 모델이 높은 평균 성능과 낮은 표준편차로 다른 모델보다 안정성이 우수한 것으로 분석됨

따라서, 의사결정 나무 모델이 아닌 선형 모델 기반으로 최종 ML모델을 선정하였음

 

🏆 최종 챔피언 모델

  • 선택 모델: Ridge Regression
  • 최적 파라미터: alpha = 10
  • 모델 저장: final_ridge_model.pkl 로 저장하여 추후 서비스 연결 가능
  • 챔피언 모델 성능
    • RMSE : 12.802
    • MAE : 10.487
    • Accuracy : 0.2025

🚀 해당 프로젝트의 의미와 향후 확장 방향


위 미니 프로젝트는 아래와 같은 의미를 가짐.

 

1. 데이터 전처리, 모델 성능 비교, 교차검증, 하이퍼파라미터 튜닝 등 머신러닝 모델 학습 전반의 실습 과정을 모두 포함하고 있음.

2. 특히 머신러닝 학습시 진행되는 모델 서칭 부터 CV, 하이퍼 파라미터 까지 필요한 모든 탐색과정을 포함.

만약, 머신러닝에 대한 학습을 혼자 진행하고 있는 분이라면 전반적은 ML학습 과정에 대해 이 미니 프로젝트가 참고가 될 수 있을 것

 

이 프로젝트는 단순한 회귀 모델링을 넘어, 다음과 같은 방향으로 확장 가능함:

  • 데이터 추가 확보 및 Feature Engineering 강화
  • ElasticNet, 앙상블 등 다른 회귀 방식 실험
  • AutoML 또는 딥러닝 모델 접목
  • 모델 서빙: API 또는 배치 예측 형태로 시스템 연동

🧠 마무리하며

이번 프로젝트에서는 다양한 머신러닝 회귀 모델과 하이퍼파라미터 튜닝, 교차 검증 기법을 적용하여  최종적으로 **Ridge 모델 (`alpha=10`)** 을 챔피언 모델로 선정함.

여러 차례의 실험과 개선을 거쳤음에도 불구하고, 예측 성능(RMSE, MAE, Accuracy) 의 향상 폭이 크지는 않았지만,  
과적합 문제를 줄이고, 안정성을 확보한 점에서 현 시점에서의 최적 선택이라고 판단했음.

따라서 본 프로젝트에서는 현재 모델을 1차 배포용 모델로 저장하고, 실제 서비스나 테스트 환경에서 활용한 후 다음과 같은 방향으로 추가 개선을 고려하고자 함.

 

머신러닝 프로젝트를 처음 시작하는 분들께 실전 연습 자료로 추천하며, 자세한 코드의 흐름과 내용은 저자(본인)의 >>github<<에서 확인 가능함.

 


📎 부록