[데이터 셋] → 데이터셋 업로드하기 선택
(고객 이탈 유무 데이터 다운로드 - https://www.kaggle.com/datasets/blastchar/telco-customer-churn)
→ CSV파일을 zip 파일로 압축하여 업로드 → 데이터셋 이름과 설명 추가
데이터 준비하기
문자형으로 되어있는 TotalCharges를 실수형으로 바꾸어주어야 합니다.
[데이터 셋] → WA_Fn-UseC_-Telco-Customer-Churn 데이터셋 선택
→ 우측 상단 ‘전처리 하기' 선택 (도움말 참고)
[요약] → 결측치 개수 확인
결측치 개수가 있는 변수는 결측치 제거 단계를 거쳐야합니다.
데이터 변수의 항목이 Yes, No인 값들을 각각 0과 1로 바꾸어줍니다. 여기서 ‘범주형 변수 변환'의 ‘Label encoding’과의 차이점은 Yes와 No 값을 내 임의로 설정할 수 있다는 것 입니다. (Label encoding 은 알파벳 순으로 0부터 순차적으로 주어짐)
Yes와 No가 있는데도 값 대체를 하지 않은 변수(MultipleLines, OnlineSecurity 등은 Yes와 No 말고도 다른 항목이 있기 때문에 범주화 변수 변환을 해주어야 합니다.
문자형을 입력 변수로 사용할 수 없기 때문에 문자형은 모두 범주형 변수 변환을 해주어야 합니다. 여기서 결과 변수가 될 Churn 과 사용하지 않는 customerID를 제외한 모든 문자형 변수를 One hot encoding시켜줍니다.
출력 변수인 Churn은 문자형으로 역시 범주형 변수 변환을 거쳐야 합니다. 하지만 One hot encoding 을 하게 되면 출력 변수를 2개로 설정해야 하므로 Label encoding 시켜줍니다.
One - hot - encoding으로 변환시켰을 때 → Churn_No, Churn_Yes 두 개의 변수가 생성됨
Label encoding으로 변환 시켰을 때 → Churn_LabelEncoder 한 개의 변수가 생성됨
아직 한 번도 전처리 과정을 거치지 않은 정수형과 실수형들을 스케일링 해줍니다.
다른 정수형들을 스케일링 하지 않는 이유는 값 대체와 범주형 변수 변환을 통해 전처리가 이미 진행 되었기 때문입니다.
전처리 완료 후 우측 상단에 ‘학습 데이터로 내보내기’ 선택
학습 하기
입력 변수 : Churn_LabelEncoder을 제외한 전처리 한 모든 정수값과 실수값
결과 변수 : Churn_LabelEncoder