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