1. WA_Fn-UseC_-Telco-Customer-Churn.cvs.zip 파일 업로드하기

[데이터 셋] → 데이터셋 업로드하기 선택

(고객 이탈 유무 데이터 다운로드 - https://www.kaggle.com/datasets/blastchar/telco-customer-churn)

→ CSV파일을 zip 파일로 압축하여 업로드 → 데이터셋 이름과 설명 추가

스크린샷 2022-08-03 오후 3.21.16.png

스크린샷 2022-07-28 오후 3.32.14.png

  1. 데이터 준비하기

    스크린샷 2022-07-28 오후 3.39.41.png

문자형으로 되어있는 TotalCharges를 실수형으로 바꾸어주어야 합니다.

  1. 전처리 하기

[데이터 셋] → WA_Fn-UseC_-Telco-Customer-Churn 데이터셋 선택

→ 우측 상단 ‘전처리 하기' 선택 (도움말 참고)

스크린샷 2022-07-28 오후 3.33.23.png

  1. 결측치 제거

[요약] → 결측치 개수 확인

스크린샷 2022-07-28 오후 4.02.13.png

결측치 개수가 있는 변수는 결측치 제거 단계를 거쳐야합니다.

스크린샷 2022-07-28 오후 4.04.39.png

  1. 값 대체

스크린샷 2022-07-28 오후 4.07.50.png

데이터 변수의 항목이 Yes, No인 값들을 각각 0과 1로 바꾸어줍니다. 여기서 ‘범주형 변수 변환'의 ‘Label encoding’과의 차이점은 Yes와 No 값을 내 임의로 설정할 수 있다는 것 입니다. (Label encoding 은 알파벳 순으로 0부터 순차적으로 주어짐)

Yes와 No가 있는데도 값 대체를 하지 않은 변수(MultipleLines, OnlineSecurity 등은 Yes와 No 말고도 다른 항목이 있기 때문에 범주화 변수 변환을 해주어야 합니다.

  1. 범주형 변수 변환

스크린샷 2022-07-28 오후 4.15.29.png

문자형을 입력 변수로 사용할 수 없기 때문에 문자형은 모두 범주형 변수 변환을 해주어야 합니다. 여기서 결과 변수가 될 Churn 과 사용하지 않는 customerID를 제외한 모든 문자형 변수를 One hot encoding시켜줍니다.

스크린샷 2022-07-28 오후 4.20.51.png

출력 변수인 Churn은 문자형으로 역시 범주형 변수 변환을 거쳐야 합니다. 하지만 One hot encoding 을 하게 되면 출력 변수를 2개로 설정해야 하므로 Label encoding 시켜줍니다.

One - hot - encoding으로 변환시켰을 때 → Churn_No, Churn_Yes 두 개의 변수가 생성됨

Label encoding으로 변환 시켰을 때 → Churn_LabelEncoder 한 개의 변수가 생성됨

  1. 스케일링

스크린샷 2022-07-28 오후 4.25.06.png

아직 한 번도 전처리 과정을 거치지 않은 정수형과 실수형들을 스케일링 해줍니다.

다른 정수형들을 스케일링 하지 않는 이유는 값 대체와 범주형 변수 변환을 통해 전처리가 이미 진행 되었기 때문입니다.

전처리 완료 후 우측 상단에 ‘학습 데이터로 내보내기’ 선택

  1. 학습 하기

    스크린샷 2022-08-02 오후 12.59.39.png

입력 변수 : Churn_LabelEncoder을 제외한 전처리 한 모든 정수값과 실수값

결과 변수 : Churn_LabelEncoder

  1. 결과 비교

스크린샷 2022-08-02 오후 12.57.35.png