‘churn’ 열을 예측해줘. 다음 달에 어떤 고객이 떠날지…

누구나 볼 수 있는 공개 기록입니다. 읽기 전용.

사용자의 요구

‘churn’ 열을 예측해줘. 다음 달에 어떤 고객이 떠날지 알고 싶어

대화

  1. ML 엔지니어 1,200행, 8개 항목을 읽었습니다. 답의 기준은 ‘churn’ 열로 잡았습니다. 아래에서 맞는지 확인해 주세요.
  2. 질문한 사람 ‘churn’ 열을 예측해줘. 다음 달에 어떤 고객이 떠날지 알고 싶어
  3. ML 엔지니어 요청 원문으로 확인되지 않은 해석이 있어, 확인된 내용만 남겨 다시 정리하고 있습니다. 학습은 아직 시작하지 않았습니다.
  4. ML 엔지니어 'churn' 열을 이진 분류 목표로 예측하는 계획을 세웠습니다. customer_id는 식별자로 제외하고 나머지 안전한 특징 열 전체를 입력으로 사용하며, 한 고객 행 단위로 이탈 여부를 예측합니다. 스키마에 시간·날짜 열이 없어 행 독립(IID) 가정을 적용하고, 지원되는 유일한 분할 정책으로 특징 그룹을 학습/개발/최종 평가에 나눕니다. 지표는 클래스 불균형을 고려해 balanced_accuracy를 제안하며, 결과는 모델 파일로 제공합니다. 다음 행동은 이 계획을 기록하고 실행 준비를 마치는 것입니다.
  5. ML 엔지니어 첫 모델을 만듭니다. 여러 방법을 시험해 가장 나은 것을 고르고, 마지막에 처음 보는 데이터로 한 번 더 확인합니다.
  6. ML 엔지니어 하네스 기본 후보를 시험했습니다. 균형 정확도 70.2%. 지금까지 가장 좋습니다. 최종 확인은 마지막에 처음 보는 데이터로 합니다.
  7. ML 엔지니어 다음에 시험할 방법을 정했습니다. 현재 기준선은 범주형 열을 단순 순서 코드로만 처리하고 고정된 부스팅 설정을 사용합니다. 이탈 예측은 범주 조합과 비선형 상호작용에 크게 좌우되므로, 범주형 원-핫 인코딩과 규제를 갖춘 부스팅 설정으로 개선을 시도하는 것이 근거 있는 다음 실험입니다.
  8. ML 엔지니어 후보 2번을 시험했습니다. 균형 정확도 75.0%. 지금까지 가장 좋습니다. 최종 확인은 마지막에 처음 보는 데이터로 합니다.
  9. ML 엔지니어 다음에 시험할 방법을 정했습니다. 현재 최고 모델(t2, 0.75)을 유지한 채 남은 1회 예산으로 분산을 줄이는 시드 앙상블을 시도하는 것이 가장 근거 있는 개선입니다.
  10. ML 엔지니어 후보 3번을 시험했습니다. 균형 정확도 74.6%. 이전 후보가 더 좋아 그대로 둡니다. 최종 확인은 마지막에 처음 보는 데이터로 합니다.
  11. ML 엔지니어 가장 좋은 후보로 마무리합니다. 정해진 시도 횟수를 모두 썼습니다. 지금까지 가장 좋은 후보만 처음 보는 데이터로 최종 확인합니다.
  12. ML 엔지니어 최종 확인을 마쳤습니다. 모델이 학습에 쓰지 않은 데이터에서 균형 정확도 71.9%입니다. 아래 보관된 모델 카드에서 이 결과로 예측을 시험해 볼 수 있습니다.
  13. 질문한 사람 왜 이 점수가 나왔어?
  14. ML 엔지니어 최종 점수는 학습에 쓰지 않은 데이터에서 측정한 균형 정확도 71.9%입니다(균형 정확도 = 클래스별로 맞힌 비율의 평균). 개발 데이터에서는 하네스가 만든 기본 모델(t1)이 70.2%, 에이전트가 만든 후보 t2가 75.0%, t3가 74.6%였고, 가장 좋았던 t2를 최종 확인한 값이 71.9%입니다. 개발 점수와 최종 점수의 차이는 새 데이터에서의 일반화 차이이며, 이 대화에서 재학습이나 새 평가는 바로 실행되지 않습니다.
  15. 질문한 사람 어떤 항목이 결과에 가장 큰 영향을 줬어?
  16. ML 엔지니어 영향도는 개발 데이터에서 각 항목 값을 섞었을 때 균형 정확도가 얼마나 떨어지는지로 측정했습니다. 상위 항목은 support_calls(19.5%p), tenure_months(8.4%p), plan(2.4%p), data_usage_gb(1.7%p), monthly_fee(1.4%p) 순이고, age는 -1.4%p로 영향이 거의 없습니다. 영향이 크다고 해서 그것이 이탈의 원인이라는 뜻은 아닙니다.
  17. 질문한 사람 support_calls 4, tenure_months 70, plan plus이면 결과가 어떻게 나와?
  18. ML 엔지니어 support_calls 4, tenure_months 70, plan plus로 읽었습니다. 보관된 모델로 직접 예측한 결과입니다 (말하지 않은 항목은 빈 값으로 넣었습니다): 1) plan=plus, support_calls=4, tenure_months=70 → churn: no
  19. 질문한 사람 이 모델 믿고 써도 돼?
  20. ML 엔지니어 최종 점수는 학습에 쓰지 않은 데이터에서 측정한 균형 정확도 71.9%이고, 개발 데이터에서는 가장 좋았던 후보 t2가 75.0%였습니다. 개발 점수와 최종 점수의 차이는 새 데이터에서의 일반화 차이이며, 이 대화에서 재학습이나 새 평가는 바로 실행되지 않습니다. 참고로 이 모델은 하네스가 만든 기본 모델(t1, 70.2%)을 에이전트가 만든 후보 t2가 개선한 것입니다.
  21. 질문한 사람 더 좋게 만들 수 있어?
  22. ML 엔지니어 이 대화에서 재학습이나 새 평가는 바로 실행되지 않아서 지금 더 좋게 만들 수는 없습니다. 다만 시도해볼 수 있는 방향은 있습니다: t3처럼 여러 시드의 히스토그램 부스팅 예측을 평균하는 앙상블로 분산을 줄이거나, 범주형 최소 빈도와 리프·규제 파라미터를 조정하는 방법입니다. 참고로 현재 보관된 모델은 하네스가 만든 기본 모델(t1, 개발 70.2%)을 에이전트가 만든 후보 t2(개발 75.0%)가 개선한 것이고, 최종 점수는 71.9%입니다.
  23. 질문한 사람 결과를 엑셀로 받을 수 있어?
  24. ML 엔지니어 엑셀 파일로 바로 내보내는 기능은 없습니다. 대신 대화 아래 '보관된 모델' 카드의 '예측해보기'에서 한 건 직접 입력하거나 JSON, CSV·JSON 파일(최대 100건, 2MB)로 예측하고 결과를 표로 볼 수 있고, 같은 카드의 '모델·소스 받기'로 학습된 전처리·모델 파일과 학습 소스, 실행 안내를 zip으로 내려받을 수 있습니다. 표로 나온 결과를 엑셀에 붙여넣는 방식으로 옮기실 수 있습니다.