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

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

사용자의 요구

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

대화

  1. ML 엔지니어 1,200행, 8개 항목을 읽었습니다. 답의 기준은 ‘churn’ 열로 잡았습니다. 아래에서 맞는지 확인해 주세요.
  2. 질문한 사람 ‘churn’ 열을 예측해줘. 다음 달에 어떤 고객이 떠날지 알고 싶어
  3. ML 엔지니어 요청 원문으로 확인되지 않은 해석이 있어, 확인된 내용만 남겨 다시 정리하고 있습니다. 학습은 아직 시작하지 않았습니다.
  4. ML 엔지니어 ‘churn’ 열을 예측하는 이진 분류 작업으로 계획했습니다. 입력은 전체 안전 특징 집합(available_columns)을 사용하고, 고객 식별자인 customer_id는 특징에서 제외하는 보수적 해석을 적용합니다. 지표는 클래스 불균형에 덜 민감한 balanced_accuracy를 제안하며, 분할은 지원되는 iid_feature_groups_60_20_20_v1, 평가 단위는 unique_feature_group, 결과 제공은 model을 제안합니다. 스키마에 시간·날짜 열이 없어 ‘다음 달’은 현재 데이터 분포 기준 예측으로 해석했고, 시간 순서 의존성은 해결되지 않는 한계로 기록했습니다. 다음 행동은 이 계획을 DECISION.json에 기록하는 것입니다.
  5. ML 엔지니어 첫 모델을 만듭니다. 여러 방법을 시험해 가장 나은 것을 고르고, 마지막에 처음 보는 데이터로 한 번 더 확인합니다.
  6. ML 엔지니어 하네스 기본 후보를 시험했습니다. 균형 정확도 69.0%. 지금까지 가장 좋습니다. 최종 확인은 마지막에 처음 보는 데이터로 합니다.
  7. ML 엔지니어 판단 형식을 바로잡습니다. 에이전트가 낸 판단이 형식 검증을 통과하지 못해, 무엇이 틀렸는지 알려주고 한 번 다시 쓰게 합니다.
  8. ML 엔지니어 다음에 시험할 방법을 정했습니다. 기준선은 범주형을 순서형 코드로만 처리하고 고정 설정을 사용하므로, 원-핫 인코딩과 조기 종료를 갖춘 부스팅으로 상호작용을 더 잘 학습해 balanced_accuracy 향상을 시도합니다.
  9. ML 엔지니어 후보 2번을 시험했습니다. 균형 정확도 70.6%. 지금까지 가장 좋습니다. 최종 확인은 마지막에 처음 보는 데이터로 합니다.
  10. ML 엔지니어 판단 형식을 바로잡습니다. 에이전트가 낸 판단이 형식 검증을 통과하지 못해, 무엇이 틀렸는지 알려주고 한 번 다시 쓰게 합니다.
  11. ML 엔지니어 다음에 시험할 방법을 정했습니다. 현재 최고 후보 t2(0.7065)는 원-핫 인코딩 기반이라 범주형 상호작용 표현에 한계가 있습니다. 남은 예산 1회로 범주형 네이티브 처리를 시도해 추가 개선 여지를 검증합니다.
  12. ML 엔지니어 후보 3번을 시험했습니다. 균형 정확도 71.7%. 지금까지 가장 좋습니다. 최종 확인은 마지막에 처음 보는 데이터로 합니다.
  13. ML 엔지니어 가장 좋은 후보로 마무리합니다. 정해진 시도 횟수를 모두 썼습니다. 지금까지 가장 좋은 후보만 처음 보는 데이터로 최종 확인합니다.
  14. ML 엔지니어 최종 확인을 마쳤습니다. 모델이 학습에 쓰지 않은 데이터에서 균형 정확도 70.1%입니다. 아래 보관된 모델 카드에서 이 결과로 예측을 시험해 볼 수 있습니다.
  15. 질문한 사람 놓치는 고객을 더 줄여줘
  16. ML 엔지니어 떠나는 고객을 덜 놓치도록 개선을 시도합니다. 현재 최고 후보는 하네스가 만든 기본 모델이 아니라 에이전트가 만든 후보 t3이고, 개발 데이터 균형 정확도는 71.7%입니다. 같은 작업에서 새 후보를 만들어 개발 데이터로 비교하며, 최종 점수는 같은 평가 데이터를 두 번 쓰지 않도록 다시 재지 않습니다. 개선 시도를 시작했습니다. 새 후보를 만들어 개발 데이터로 비교한 뒤 결과를 여기에 알려드립니다.
  17. 질문한 사람 지금 어디까지 했어?
  18. ML 엔지니어 지금 '떠나는 고객(churn=yes)을 덜 놓치도록 개선해줘' 요청으로 개선 후보를 시험하고 있습니다 (최대 2개 중 1번째). 첫 후보를 준비하고 있습니다. 끝나면 결과를 여기에 알려드리고, 그 뒤에 질문에 답할 수 있습니다.
  19. ML 엔지니어 개선 후보 4번을 만듭니다. 요청: 떠나는 고객(churn=yes)을 덜 놓치도록 개선해줘
  20. ML 엔지니어 개선 후보 4번을 시험했습니다. 개발 점수 69.4% (-2.2%p) · 'yes'를 놓친 비율 31% → 33%로, 재현율 개선 폭 -5.7%p ~ +2.4%p가 0을 걸쳐 확실한 개선이 아니라 채택하지 않습니다.
  21. ML 엔지니어 개선 후보 5번을 만듭니다. 요청: 떠나는 고객(churn=yes)을 덜 놓치도록 개선해줘
  22. ML 엔지니어 개선 후보 5번을 시험했습니다. 개발 점수 70.9% (-0.8%p) · 'yes'를 놓친 비율 31% → 30%로, 재현율 개선 폭 -2.4%p ~ +5.6%p가 0을 걸쳐 확실한 개선이 아니라 채택하지 않습니다.
  23. ML 엔지니어 새 후보 2개를 시험했지만 확실히 나은 후보가 없어 기존 모델(개발 점수 71.7%)을 그대로 둡니다. 가장 나은 후보 5번도 개발 점수 70.9%(-0.8%p)로, 'yes'를 놓친 비율 31% → 30%로, 재현율 개선 폭 -2.4%p ~ +5.6%p가 0을 걸쳐 확실한 개선이 아니라 채택하지 않습니다. 최종 점수는 원래 모델의 1회 측정값(70.1%)을 그대로 둡니다.
  24. 질문한 사람 나이 34살, basic 요금제, 월 29.9, 상담 5번, 가입 3개월 고객은 떠날까?
  25. ML 엔지니어 나이 34, basic 요금제, 월 29.9, 상담 5번, 가입 3개월로 읽었습니다. 보관된 모델로 직접 예측한 결과입니다 (말하지 않은 항목은 빈 값으로 넣었습니다): 1) age=34, monthly_fee=29.9, plan=basic, support_calls=5, tenure_months=3 → churn: yes