ToolBOX01 2025. 4. 8. 18:30
반응형

▣ Model 이란?

Orange3 데이터 마이닝 소프트웨어를 사용하여 구축하고 학습시킨 데이터 분석 및 예측 모델을 의미합니다.
학습 방법과 모델 평가 방법을 제공 합니다.

구축할 수 있는 모델 유형은 매우 다양합니다. 크게 지도 학습 (Supervised Learning) 모델과 비지도 학습 (Unsupervised Learning) 모델로 나눌 수 있습니다.

▣ 지도 학습 (Supervised Learning) 모델

지도 학습은 레이블(정답)이 있는 데이터를 사용하여 모델을 학습시키고, 새로운 데이터에 대한 예측을 수행하는 방식입니다.

1. 분류 (Classification) 모델:

  • Tree (Decision Tree - 의사결정 트리):데이터를 특정 조건에 따라 분할하여 트리 구조를 만들고, 각 리프 노드에서 예측을 수행합니다. 해석력이 높은 모델입니다. 분류 또는 회귀를 수행합니다.
  • Random Forest(랜덤 포레스트): 여러 개의 의사결정 트리를 앙상블하여 예측 성능과 안정성을 향상시킨 모델입니다.
  • Logistic Regression(로지스틱 회귀): 선형 모델을 사용하여 이진 또는 다중 클래스 분류 문제를 해결합니다. 결과는 확률 값으로 해석될 수 있습니다.
  • kNN (k-Nearest Neighbors): 새로운 데이터 포인트 주변의 k개 가장 가까운 이웃들의 클래스 또는 값을 기반으로 예측합니다.
  • SVM (Support Vector Machine): 데이터를 고차원 공간으로 매핑하여 최적의 초평면을 찾아 분류 또는 회귀를 수행합니다.
  • Naive Bayes: 베이즈 정리를 기반으로 독립 변수들 간의 독립성을 가정하여 확률적으로 분류를 수행합니다. 계산 효율성이 높고 텍스트 분류 등에 효과적입니다.
  • Neural Network: 인간의 신경망을 모방한 구조로, 복잡한 패턴을 학습하여 분류, 회귀 등 다양한 작업을 수행합니다.

2.  회귀 (Regression) 모델

  • Linear Regression(선형 회기): 독립 변수와 종속 변수 간의 선형 관계를 모델링하여 수치 값을 예측합니다.
  • Curve Fit: 주어진 데이터에 가장 잘 맞는 곡선 함수를 찾습니다. 비선형적인 관계를 모델링하는 데 사용됩니다.
  • Gradient Boosting: 약한 학습기(보통 결정 트리)들을 순차적으로 결합하여 강력한 예측 모델을 만듭니다. 높은 예측 성능을 보이는 알고리즘입니다.
  • PLS (Partial Least Squares): 독립 변수와 종속 변수 간의 관계를 찾기 위해 사용되는 통계적 방법으로, 특히 독립 변수 간에 높은 상관관계가 있을 때 유용합니다. 회귀 및 차원 축소에 사용될 수 있습니다.

3. 기타 모델

  • Constant: 가장 기본적인 모델로, 항상 동일한 값(예: 평균값 또는 최빈값)을 예측합니다. 기준 모델(baseline model)을 설정하거나 데이터의 기본 속성을 확인하는 데 유용합니다.
  • CN2 Rule Induction: 규칙 기반 학습 알고리즘으로, 데이터에서 분류 규칙을 추출합니다. 사람이 이해하기 쉬운 모델을 생성하는 데 장점이 있습니다.
  • Calibrated Learner: 확률적 예측 모델의 예측 확률을 보정(calibration)하는 데 사용됩니다. 예측의 신뢰도를 높이는 데 도움이 됩니다.
  • AdaBoost (Adaptive Boosting): 약한 분류기들을 순차적으로 학습시키면서 잘못 분류된 데이터에 가중치를 부여하여 최종적으로 강력한 분류기를 만듭니다.

 모델 평가 및 활용 관련 기능

  • Scoring Sheet: 학습된 모델의 성능을 다양한 평가 지표를 통해 보여주는 위젯입니다. 분류 모델의 정확도, 정밀도, 재현율, F1 점수, AUC 등과 회귀 모델의 MSE, RMSE, R-squared 등을 확인할 수 있습니다.
  • Stochastic Gradient Descent (Stochastic Gradient De...): 신경망과 같은 일부 모델을 학습시키는 데 사용되는 최적화 알고리즘입니다. (아이콘 이름이 잘려있어 정확한 명칭은 Stochastic Gradient Descent Optimizer일 가능성이 높습니다.)
  • Stacking: 여러 개의 다른 모델의 예측 결과를 메타 모델을 사용하여 결합하여 최종 예측을 수행하는 앙상블 기법입니다.
  • Save Model: 학습된 모델을 파일로 저장하여 나중에 불러와서 사용하거나 배포할 수 있습니다.
  • Load Model: 저장된 모델 파일을 Orange3로 불러와서 새로운 데이터에 대한 예측을 수행하거나 모델 평가를 다시 할 수 있습니다.

▣ Constant

Orange3에서 "Constant" 모델은 가장 기본적인 예측 모델로, 항상 동일한 값을 출력합니다. 이 값은 보통 데이터의 평균값(mean)이나 최빈값(mode)으로 설정됩니다. 이를 통해 기준선(baseline)을 설정하고, 더 복잡한 모델과 비교하거나 데이터의 기본적인 특성을 파악할 수 있습니다. 
 
  1. 평균값을 사용한 경우
    • 데이터의 평균값 계산:
      (80 + 85 + 90 + 75 + 80) ÷ 5 = 82
    • Constant 모델은 모든 학생의 점수를 82로 예측합니다.
    • 시험 예측 결과:
      • 학생 A: 82
      • 학생 B: 82
      • 학생 C: 82
      • 학생 D: 82
      • 학생 E: 82
2. 최빈값을 사용한 경우
  • 데이터에서 가장 자주 등장하는 값(최빈값): 80 (80이 두 번 등장)
  • Constant 모델은 모든 학생의 점수를 80으로 예측합니다.
  • 시험 예측 결과:
    • 학생 A: 80
    • 학생 B: 80
    • 학생 C: 80
    • 학생 D: 80
    • 학생 E: 80
. 이 모델은 단순하지만, 예를 들어 "랜덤으로 점수를 예측하는 것보다 나은가?" 또는 "더 복잡한 머신러닝 모델이 
이보다 얼마나 더 나은 성능을 보이는가?"를 비교할 때 기준선으로 사용할 수 있습니다.

. 만약 실제 점수가 75~90 사이에서 크게 변동한다면, Constant 모델만으로는 부족하다는 것을 알 수 있고, 
더 정교한 모델(예: 선형 회귀 등)을 고려하게 됩니다.
Constant 모델이 "평균값"을 기준으로 얼마나 잘 맞는지 확인한 뒤, 이 오차가 크다면 데이터에 변동성이 많다는 신호로 볼 수 있습니다. 그러면 더 복잡한 모델(예: 학생별 공부 시간, 출석률 등을 고려한 회귀 모델)을 사용해 예측 정확도를 높일 필요가 있다고 판단할 수 있습니다.
 
[각 학생의 실제값과 평균값의 차이 (오차) 계산]
1. 오차 분석
  • 오차의 범위: -7에서 +8까지로, 데이터가 평균값(82)을 중심으로 어느 정도 퍼져 있음을 알 수 있습니다.
  • 오차의 절대값 평균 (MAE, Mean Absolute Error):
    (| -2 | + | 3 | + | 8 | + | -7 | + | -2 |) ÷ 5 = (2 + 3 + 8 + 7 + 2) ÷ 5 = 4.4
    → 평균적으로 각 학생의 점수가 예측값(82)에서 약 4.4점 정도 벗어나 있습니다.
  • 오차의 제곱합 (MSE, Mean Squared Error):
    ((-2)² + 3² + 8² + (-7)² + (-2)²) ÷ 5 = (4 + 9 + 64 + 49 + 4) ÷ 5 = 26
    → 오차가 클수록 값이 더 커지므로, C(8)와 D(-7)처럼 평균에서 멀리 떨어진 값이 영향을 많이 줍니다.

2. 해석

  • 가까워지는지, 멀어지는지 판단:
    오차가 작은 경우(예: A와 E의 -2)는 실제값이 평균에 가깝고, 오차가 큰 경우(예: C의 8, D의 -7)는 평균에서 멀어집니다. 이 데이터에서는 점수가 75~90으로 약간씩 변동하며, 평균(82)에 비교적 가까운 값(A, B, E)과 약간 먼 값(C, D)이 섞여 있습니다.
  • 데이터 분포의 특성:
    오차가 -7에서 +8 사이로 분포하므로, 데이터가 평균을 중심으로 어느 정도 퍼져 있다는 것을 알 수 있습니다. 만약 모든 오차가 0에 가까웠다면 데이터가 평균에 매우 집중되어 있다고 해석할 수 있었겠죠.

3. 활용

  • Constant 모델이 "평균값"을 기준으로 얼마나 잘 맞는지 확인한 뒤, 이 오차가 크다면 데이터에 변동성이 많다는 신호로 볼 수 있습니다. 그러면 더 복잡한 모델(예: 학생별 공부 시간, 출석률 등을 고려한 회귀 모델)을 사용해 예측 정확도를 높일 필요가 있다고 판단할 수 있습니다.