관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

Orange 4 - 머신러닝 7단계에 따라 BMI 예측 실습해보기 2 : 5~7단계 과정 본문

인공지능/머신러닝

Orange 4 - 머신러닝 7단계에 따라 BMI 예측 실습해보기 2 : 5~7단계 과정

huenuri 2024. 9. 13. 15:45

머신러닝 4단계 과정이 끝난줄 알았는데 아직 몇 가지 과정이 남아있었다. Data Sampler로 훈련용과 평가용을 분리하는 일이다. 그럼 나머지 학습을 이어서 시작해보자!

다시 머신러닝 공부가 재미있어졌다.


 

 

 

BMI 예측 실습해보기 2

 

4. Data Sampler (Train/Test 분리)

 

 


 

훈련 데이터(Train Data)와 평가용 데이터(Test Data)로 나뉘는 과정과 각각의 세부 내용을 보여주는 자료이다. 이 과정을 통해 머신러닝 모델을 학습시키고 평가할 수 있게 된다.

Orange의 Data Sampler를 통해 전체 데이터를 70%는 훈련 데이터, 30%는 테스트 데이터로 나누었다.

 

 

Train Data (훈련 데이터)

  • 350개의 인스턴스가 훈련 데이터로 사용됨
  • 이 데이터는 머신러닝 모델이 학습하는 데 사용되는 데이터이다.
  • 변수는 **Height(키)**와 Weight(몸무게) 두 개의 특성(Feature)으로 이루어져 있고, Label은 BMI 상태(Obesity, Normal, Extreme Obesity 등)를 나타낸다.
  • 이 데이터를 기반으로 모델이 패턴을 학습하게 된다.

Test Data (평가용 데이터)

  • 150개의 인스턴스가 평가용 데이터로 사용됨
  • 테스트 데이터는 모델이 학습된 후, 새로운 데이터에서 얼마나 잘 예측하는지를 확인하는 데 사용된다.
  • 마찬가지로 키와 몸무게를 가지고 있고, BMI 상태를 예측해야 한다. 여기서는 모델이 이 데이터를 얼마나 정확하게 예측하는지 평가할 수 있다.

 

이렇게 데이터를 나누는 이유는 학습된 모델이 훈련 데이터에 과적합(overfitting)되지 않도록 새로운 데이터를 통해 모델의 일반화 능력을 평가하기 위해서이다.

Train Data는 모델을 학습시키는 데 사용되고, Test Data는 학습이 끝난 모델의 성능을 평가하는 데 사용된다.

 

결론

  • Train Data(훈련 데이터) : 350개 인스턴스가 포함된 데이터로, 모델을 학습시키는 데 사용됨
  • Test Data(평가용 데이터) : 150개의 인스턴스로, 학습된 모델의 성능을 테스트하기 위해 사용됨
  • Data Sampler: 데이터를 훈련용과 테스트용으로 나누어 학습과 평가의 두 가지 목적에 맞게 데이터를 준비하는 과정

 

 

 

 

5. 모델 선택 및 학습

  • KNN 모델의사결정 나무(Tree) 모델 두 가지가 사용되고 있다. 두 모델을 동시에 학습시켜 예측 결과를 비교할 수 있다.
    • KNN (최근접 이웃 모델): 입력 데이터와 가장 가까운 이웃 데이터를 기반으로 분류 또는 회귀를 수행하는 모델
    • 의사결정 나무 (Tree): 데이터를 기준에 따라 여러 개의 분기로 나누어 의사결정을 내리는 트리 구조의 모델

6. Predictions (예측)

  • 학습된 모델은 새로운 데이터(여기서는 Test Data)를 예측하게 돼. Predictions 단계에서 학습된 모델이 평가용 데이터를 입력받고 BMI 상태를 예측한다.
  • 이 결과는 모델이 학습된 대로 올바르게 예측했는지, 얼마나 정확하게 맞췄는지를 확인할 수 있다.

7. Test and Score (평가 및 점수화)

  • Test and Score는 모델의 성능을 평가하는 단계이다. 이 단계에서 모델의 정확도, 정밀도, 재현율 등의 성능 지표를 계산하게 된다.
  • 학습된 모델이 평가 데이터에서 얼마나 잘 예측했는지를 정량적으로 측정할 수 있다. 이를 통해 KNN과 의사결정 나무 모델 중 어떤 모델이 더 잘 작동하는지를 평가할 수 있다.

모델 선택은 문제에 맞는 알고리즘을 선택하는 과정이고, 학습은 그 모델이 데이터를 기반으로 패턴을 배우는 과정이다. 이 두 단계를 잘 진행해야만, 이후 예측과 평가에서 좋은 성능을 낼 수 있다. KNN과 의사결정 나무는 각각의 장단점이 있으므로, 데이터를 잘 분석해서 적절한 모델을 선택하는 것이 중요하다.

 

 

KNN 모델

 

정확도는 1에 가까울수록 더 정확하다.

 

 

이 결과는 KNN 모델을 5-fold 교차 검증 방식으로 평가한 결과이다. 이 모델의 정확도는 88.5%, F1 스코어는 0.845로, 꽤 좋은 성능을 보여주고 있다. 또한 Precision과 Recall 값도 균형 잡힌 성능을 나타내고 있다.

 


 

학습을 마치고

강의 영상이 없음에도 불구하고 자료를 찾아가면서 이렇게 학습을 진행해보았다. 어떤 부분은 선생님이 설명하시는 것보다 더 많은 것들을 알게 되기도 했다. 

이 다음부터는 수업 진도에 따라 여러 가지 실습을 진행해보려고 한다.