Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

엑셀은 기본적인 머신러닝 작업을 수행하기에 의외로 강력한 도구입니다. 전문 머신러닝 플랫폼은 아니지만, 내장 함수와 솔버(Solver)를 활용하면 선형 회귀, 로지스틱 회귀 같은 핵심 ML 개념을 효과적으로 구현하고 시연할 수 있습니다.

이 튜토리얼에서는 엑셀의 솔버와 수식을 이용해 경량 머신러닝 모델을 직접 구축하는 방법을 단계별로 소개합니다.

  • 선형 회귀(Linear Regression): 연속형 값을 예측합니다. (매출액, 주택 가격, 시험 점수 등)
  • 로지스틱 회귀(Logistic Regression): 예/아니오 형태의 결과를 예측합니다. (고객 구매 여부, 대출 연체, 의료 진단, 합격/불합격 등)

시작하기 전 준비 사항

  • Microsoft Excel (2016 이상 권장)
  • 솔버 추가 기능(Solver Add-in) 활성화
    • 파일 탭 >> 옵션 선택 >> 추가 기능 선택 >> Excel 추가 기능 선택
    • 이동(Go) 클릭

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

  • Solver Add-in 체크
  • 확인 클릭

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

  • 회귀 분석에 대한 기본적인 개념 이해

1부: 선형 회귀 모델

선형 회귀는 데이터 포인트를 관통하는 최적의 직선을 찾아 연속형 수치를 예측하는 기법입니다. 여기서는 간단한 비즈니스 시나리오, 즉 광고비(X)가 매출(Y)을 예측하는 모델을 만들어 보겠습니다. 각 데이터 포인트는 한 달간의 사업 데이터를 나타냅니다.

1단계: 샘플 데이터 준비

입력값(광고비, 천 달러 단위)과 출력값(매출액, 천 달러 단위) 사이에 뚜렷한 선형 관계가 나타나는 현실적인 데이터셋을 만듭니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

각 행은 한 달의 사업 데이터입니다. 광고비가 증가하면 매출도 증가하지만 완벽하게 비례하지는 않습니다. 약간의 무작위성이 존재하는데, 이것이야말로 실제 데이터의 모습입니다.

2단계: 예측 수식 만들기

모델이 최적의 직선을 찾기 위해 조절할 수학적 '노브'를 설정합니다. 선형 회귀에는 두 개의 파라미터가 필요합니다.

  • 절편(b0): 직선이 Y축과 만나는 지점입니다. (광고비가 0일 때의 기본 매출)
  • 기울기(b1): 광고비가 1,000달러 증가할 때 매출이 얼마나 증가하는지를 나타냅니다.

모델 파라미터를 별도의 셀에 설정합니다.

모델 파라미터:

Predicted Y = b0 + b1 * X
  • 절편(b0): 초기값 0
  • 기울기(b1): 초기값 1

이 선형 방정식을 사용해 광고비를 기반으로 매출을 예측합니다. 이것이 모델의 핵심으로, 광고 금액을 입력받아 예상 매출을 산출합니다.

수학적 의미:

  • b0 = 0.5, b1 = 2라면, 광고비 3천 달러 투입 시 예측 매출은 0.5 + 2×3 = 6.5천 달러입니다.
  • 모델은 데이터로부터 b0와 b1의 최적값을 학습합니다.

예측 수식:

  • 셀을 선택하고 아래 수식을 입력합니다.
  • 이 수식을 F11까지 드래그하여 채웁니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

3단계: 잔차와 오차 계산

예측이 실제 값과 얼마나 다른지 측정합니다. 모델은 바로 이 오차를 최소화하는 방향으로 학습하기 때문에 매우 중요한 단계입니다.

  • 잔차(Residuals): 각 월의 실제 매출과 예측 매출의 차이입니다.
  • 제곱 오차(Squared Errors): 잔차를 제곱한 값입니다. (모든 오차를 양수로 만들고, 큰 오차에 더 큰 페널티를 부여)

잔차:

  • 수식을 G11까지 드래그합니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

제곱 오차:

  • 수식을 H11까지 드래그합니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

4단계: 오차 지표 계산

모델 성능을 비즈니스 관점에서 해석할 수 있는 지표를 만듭니다. 이 지표들은 모델이 실무에 사용할 만큼 충분히 좋은지 판단하는 데 도움이 됩니다.

지정된 영역에 핵심 지표를 설정합니다.

오차 지표:

  • 오차 제곱합(SSE): 모든 예측의 총 오차 — 낮을수록 좋습니다.
  • 평균 제곱근 오차(RMSE): 원래 단위(천 달러) 기준의 평균 오차 — 해석이 쉽습니다.
  • 결정계수(R²): 매출 변동 중 광고비로 설명되는 비율 (0~100%, 높을수록 좋습니다).
=1-(K2/SUMPRODUCT((B2:B11-AVERAGE(B2:B11))^2))
  • 평균 절대 오차(MAE): 절대 오차의 평균 — RMSE보다 이상치에 덜 민감합니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

5단계: 솔버로 파라미터 최적화

엑셀이 예측 오차를 최소화하는 최적의 절편과 기울기를 자동으로 찾도록 합니다.

  • 데이터 탭 >> 솔버 선택
  • 목표 설정: K2 (SSE 셀)
  • 목표: 최소화(Min)
  • 변수 셀 변경: E3, E5 (파라미터 셀)
  • 풀기(Solve) 클릭

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

  • 확인 클릭

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

솔버의 작동 원리는 다음과 같습니다.

  • b0와 b1의 수백만 가지 조합을 시도합니다.
  • 각 조합의 총 오차를 계산합니다.
  • 오차가 가장 낮은 조합을 찾을 때까지 조정을 반복합니다.
  • 직접 추측하는 것보다 훨씬 빠르고 정확합니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

6단계: 시각화로 검증하기

모델을 시각적으로 확인하는 것이 중요합니다. 예측선이 대부분의 데이터 포인트 근처를 지나가는지 살펴봅시다.

  • 광고비와 매출 열을 선택합니다.
  • 삽입 탭 >> 차트에서 분산형 차트(Scatter Plot) 선택

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

  • 차트 우클릭 >> 데이터 선택 >> 추가
    • 계열 이름: F1 셀 선택
    • X 값: X값 범위 선택 (예: B2:B11)
    • Y 값: 예측값 범위 F2:F11 선택
  • 예측 계열을 꺾은선 형태로 서식 지정

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

잘 만들어진 모델이라면 다음과 같은 특징이 보입니다.

  • 예측선이 데이터 포인트의 전반적인 추세를 따라갑니다.
  • 포인트들이 선 주변에 고르게 분포합니다. (한쪽으로 치우치지 않음)
  • 잔차에 뚜렷한 패턴이 없습니다.

2부: 로지스틱 회귀 모델

로지스틱 회귀는 예/아니오 판단에 대한 확률을 예측합니다. 정확한 숫자를 예측하는 선형 회귀와 달리, 로지스틱 회귀는 어떤 일이 발생할 가능성(0~100%)을 예측합니다.

1단계: 이진 분류 데이터 준비

고객의 구매 행동을 모델링해 보겠습니다. 고객의 소득 수준(X)을 기반으로 프리미엄 제품을 구매할지(1) 아닌지(0)를 예측하는 것입니다. 마케팅 타겟팅, 의료 진단 등 모든 이진 판단 상황에서 활용되는 전형적인 사례입니다.

로지스틱 회귀용 데이터를 설정합니다.

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

고객 소득 수준(만 달러 단위)과 구매 여부 데이터입니다. 저소득 고객(1~5)은 구매하지 않는 경향(0)이 있고, 고소득 고객(6~10)은 구매하는 경향(1)이 있습니다. 현실적인 구매 패턴을 반영한 데이터입니다.

2단계: 로지스틱 예측 수식 만들기

로지스틱 모델 파라미터 초기화:

로지스틱 함수에 필요한 파라미터를 설정합니다. 선형 회귀와 달리, 이 파라미터들은 더 복잡한 수학적 변환(시그모이드 함수)을 거칩니다.

  • 절편(b0): 임계점(50% 확률이 되는 지점)을 좌우로 이동시킵니다.
  • 기울기(b1): '구매 안 함'에서 '구매함'으로 전환되는 곡선의 기울기를 조절합니다.
  • 초기값: 합리적인 추측값으로 시작하며, 솔버가 이를 최적화합니다.

로지스틱 파라미터:

Probability = 1 / (1 + e^(-(b0 + b1×X)))
  • 절편(b0): -2 (초기값)
  • 기울기(b1): 0.5 (초기값)

로지스틱 예측 수식 작성:

시그모이드 함수를 사용해 선형 조합을 확률로 변환합니다. 예측값이 항상 0과 1 사이에 머물게 하는 수학적 장치입니다.

  • 선형 조합: b0 + b1*X (선형 회귀와 동일)
  • 시그모이드 변환: 1/(1+e^(-(선형조합))) — 어떤 숫자든 0~1 범위로 변환
  • 결과: 확률을 나타내는 부드러운 S자 곡선. 확률이 0.7이라면 해당 고객이 구매할 확률이 70%라는 의미입니다.

확률 예측:

  • 선형 조합 계산:

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

  • 확률 예측 계산:

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

  • 해당 셀들의 서식을 백분율(%)로 지정합니다.

3단계: 로그 가능도(Log-Likelihood) 계산

확률 예측이 실제 결과와 얼마나 잘 맞는지 측정합니다. 정확한 값이 아닌 확률을 다루기 때문에 단순 오차 계산보다 복잡합니다.

로그 가능도 구성 요소:

=IF(B2=1,LN(MAX(G2,0.0001)),LN(MAX(1-G2,0.0001)))

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

핵심 개념을 정리하면 다음과 같습니다.

  • 이진 결과에서는 단순 뺄셈(실제값 – 예측값)을 사용할 수 없습니다.
  • 대신, 예측을 기준으로 실제 결과가 얼마나 '놀라운지'를 측정합니다.
  • 구매 확률 90%를 예측했는데 고객이 실제로 구매했다면 놀랍지 않습니다. (좋은 모델)
  • 구매 확률 10%를 예측했는데 고객이 구매했다면 매우 놀랍습니다. (나쁜 모델)

4단계: 로지스틱 모델 평가 지표 설정

분류 성능을 비즈니스 관점에서 측정하는 지표를 만듭니다. 이 지표들은 모델이 실제 비즈니스 의사결정에 사용할 만큼 신뢰할 수 있는지 판단하는 데 필수적입니다.

정밀도가 높으면 낭비되는 마케팅 비용이 줄어들고(거짓 양성 감소), 재현율이 높으면 잠재 고객을 놓치지 않습니다(거짓 음성 감소).

로지스틱 평가 지표:

  • 모델 적합도/음의 로그 가능도: 값이 낮을수록 확률 예측이 정확합니다.
  • 정확도(Accuracy): 50%를 기준으로 분류했을 때 올바르게 분류된 고객의 비율입니다.
=SUMPRODUCT((G2:G11>0.5)*(B2:B11=1)+(G2:G11<=0.5)*(B2:B11=0))/10
  • 정밀도(Precision): 구매할 것으로 예측한 고객 중 실제로 구매한 고객의 비율입니다.
=IF(SUMPRODUCT((G2:G11>0.5))=0,"No Predictions",SUMPRODUCT((G2:G11>0.5)*(B2:B11=1))/SUMPRODUCT((G2:G11>0.5)))
  • 재현율(Recall): 실제 구매한 고객 중 우리가 식별해낸 고객의 비율입니다.
=SUMPRODUCT((G2:G11>0.5)*(B2:B11=1))/SUMPRODUCT(B2:B11)

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

5단계: 솔버로 로지스틱 모델 최적화

데이터의 확률 패턴에 가장 잘 맞는 파라미터 값을 찾습니다. 솔버는 음의 로그 가능도를 최소화하는데, 이는 실제 데이터가 관찰될 확률을 최대화하는 것과 같습니다.

  • 데이터 탭 >> 솔버 선택
  • 목표 설정: K2 (음의 로그 가능도)
  • 목표: 최소화(Min)
  • 변수 셀 변경: E3, E5
  • 풀기(Solve) 클릭

엑셀 솔버와 수식만으로 경량 머신러닝 모델 만들기: 선형·로지스틱 회귀 완벽 가이드

자주 발생하는 문제 해결법

  • 솔버가 수렴하지 않을 때: 다른 초기값을 시도하거나 반복 횟수를 늘려보세요.
  • R²(결정계수)가 음수일 때: 데이터 입력 오류나 모델 설정 문제를 확인하세요.
  • 로지스틱 회귀에서 완전 분리가 발생할 때: 특성 값을 줄이거나 정규화를 추가하세요.

마무리

이 튜토리얼에서는 엑셀만으로 머신러닝 모델을 구축하는 전 과정을 단계별로 살펴보았습니다. 전문 ML 도구에 비해 엑셀에는 한계가 있지만, 모델의 작동 원리를 투명하고 쉽게 이해할 수 있다는 큰 장점이 있습니다. 엑셀의 솔버와 기본 수식을 활용하면 경량 머신러닝 모델을 빠르게 구현하고, 예측 결과를 시각화하며, 간단하면서도 통찰력 있는 방법으로 모델의 정확도를 평가할 수 있습니다. 여기서 소개한 기법은 더 복잡한 시나리오로 확장할 수 있으며, 회귀 개념을 학습하는 교육 도구로도 훌륭하게 활용됩니다.