통신 사업자 고객 이탈 데이터 세트의 분석

좋아! 해봅시다.

그래서 저는 불균형 데이터에 좀 더 익숙해지기 위해이 이야기를 준비했습니다.

데이터 세트는 다음 링크에서 사용할 수 있습니다.

최종 목표는 고객이”이탈”할 것인지 여부를 예측하기 위해 다른 모델을 평가하는 것입니다.

익숙하지 않은 이탈은 가장 일반적으로 주어진 기간 내에 구독을 중단하는 서비스 가입자의 백분율(또는 수)로 표시됩니다.

의 우리의 에다(탐색 데이터 분석을 수행하여 시작하자)

데이터 유형은 확인 될 듯,너무 요인이어야한다 노인을 제외하고. (의심 할 여지없이 데이터 세트 링크 및 라이브러리 확인)

데이터 집합의 요약을 시각화해 보겠습니다

이 총 요금 열에서 일부 할머니의,그래서 우리는 그 행에 조금 더 파고 것입니다

난 값을 가진 행의 수는 매우 작기 때문에(데이터의 1,5%),그리고 고려 모든 것을 복용 그것들은 이탈=”아니오”이며,이는 데이터에서 과도하게 표현됩니다. 작업 데이터

에서 해당 행을 삭제하면 범주 형 열 분포에 대한 막대 그림을 볼 수 있습니다

이제 종속 변수에 대한 플롯을 보겠습니다

앞서 언급 한 바와 같이 우리는 이제 종속 변수에 대한 데이터의 불균형을 볼 수 있습니다. 우리는 모델링하기 전에 나중에 처리해야 할 것입니다.

이제 양적 변수에 대한 상자 그림을 그려 보겠습니다.

상자 그림에는 분포에 이상값이 표시되지 않습니다.

이제 양적 변수의 상관 관계를 살펴 보겠습니다:

총 요금과 월별 요금과 총 요금과 임기 사이에는 높은 양의 상관 관계가 있습니다.

이제 정량적 특징에 대한 이탈 특징을 고려한 일부 히스토그램을 플로팅해 보겠습니다:

위의 이미지는 임기 증가에 따라 이탈률이 감소한다는 것을 보여 주며,이는 회사가 오랜 고객을 유지할 수 있다는 좋은 신호입니다.👏👏👏

위의 플롯은 다음과 같은 기능에 대한 몇 가지 힌트를 제공합니다:

  • 이러한 성별,전화 서비스 및 여러 회선이 실제로 이탈에 큰 영향을 미치지 않는 것처럼 보입니다.
  • ;
  • 온라인 보안,장치 보호 및 기술 지원은 히스토그램과 이탈 관계가 매우 유사합니다.

양적 특징(임기,월별 요금 및 총 요금)을 포함한 이변량 분석을 더 자세히 살펴보기 위해 20 번째 백분위수에 따라 각 기능에 대해 5 가지 수준으로 나누어 요인으로 변환해 보겠습니다.

이전 고객의 유지 관리가 덜 어렵다는 것을 나타내는 개월 수에 따라 이탈률이 감소하기 전에 언급 한 바와 같이

이 막대 그림은 고객에게 발생한 총 요금이 높을수록 이탈률이 감소한다는 것을 나타냅니다. 당신이 오랜 시간 클라이언트가 더 높은”총 충전”을 가질 것이라고 생각하면 어떤 의미가 우리가 전에 본 바와 같이,오랜 시간 클라이언트는 낮은 이탈 비율을 가지고있다

이 막대 그림은 좀 더 직관적이며 월별 요금이 높을수록 이탈률이 높은 경향이 있음을 보여줍니다.

모델링

이제 데이터를 더 잘 이해 했으므로 향후 고객 이탈을 예측하기 위해 모델링 준비를 시작하겠습니다.

이 과정을 우리가 다루고있는 즉각적인 문제에 따라 단계로 나누자:

  1. 불균형 다루기
  2. 알고리즘 및 메트릭 정의
  3. 알고리즘 테스트
  4. 특징 선택 다루기
  5. 최종 결과

불균형 다루기

우리가 전에 본 것처럼 종속 변수가 불균형합니다. 이 문제를 해결할 수있는 많은 대안이 있습니다:

  • 오버 샘플링
  • 언더 샘플링
  • 다른 무게 비용을 사용하여

여기서 우리는 언더,오버 샘플링 및 스트라이트 기술을 시도 할 것입니다.

샘플 데이터 균형 조정

데이터의 샘플링 균형 초과

알고리즘 및 메트릭 정의

우리는 분류 문제를 다루고 있기 때문에 하루가 끝날 때 우리는”이탈”또는”이탈”만 예측할 수 있으므로이 특정”영역”에서 알고리즘을 선택해야합니다. 그 같은 몇 가지 옵션으로 우리를 떠나:

  • 로지스틱 회귀 분석
  • 의사 결정 트리(또는 랜덤 포리스트)
  • 예를 들어,
    • “거짓 긍정 또는 거짓 부정이 더 파괴적인 영향을 미칩니 까?”🤔

    우리의 경우 거짓 긍정 또는 거짓 부정에 대해 다른 가중치가없는 것 같으므로 정확도를 비교 메트릭으로 사용할 것입니다.우리는 알고리즘에 대해 더 많은 것을 할 수 있지만,우리는 알고리즘에 대해 더 많은 것을 할 수 있습니다. 우리는 10 크로스 폴드 유효성 검사를 사용하고 각 알고리즘을 10 번 실행하고 결과를 계산합니다.

    우리는 3 가지 데이터 모두에 대해이 방법론을 반복 할 것입니다(언더 샘플링,오버 샘플링 및 스트라이트를 사용하여 균형 잡힌).

    알고리즘의 결과로 우리는 하나의 정확도 데이터 프레임을 구성

    정확도 데이터 프레임 구조

    이제 각 알고리즘과 각 균형 데이터에 대한 상자 그림을 투영합니다

    10-이력서에 대한 정확도의 박스 플롯은 10 회 반복

    위의 이미지는 오버 샘플 균형 데이터에 대한 무작위 포리스트와 강타 균형 데이터에 대한 무작위 포리스트가 모두 최상의 결과 인 87%의 정확도를 나타냄을 보여줍니다.

    기능 선택 다루기

    이제 최상의 결과를 보여준 알고리즘과 균형 잡힌 데이터를 얻었으므로 기능 선택을 통해 정확성을 향상하거나 알고리즘을 단순화하려고합시다.

    그래서 나는 강타 균형 데이터 작업을 선택합니다.

    랜덤 포리스트 알고리즘에서 이탈을 가장 잘 나타내는 기능을 보려면 바림프 함수를 사용하자

    처음 네 기능은 우리가 에다 동안 본 적이 시각화를 고려 꽤 직관적 보였다.

    그래서 우리는 2 개의 다른 데이터 프레임을 만들 것입니다.

    이제 10 번 반복 된 10 이력서로 임의의 숲을 실행합시다.

    이제 3 개의 데이터 프레임 각각에 대한 정확도 분포를 사용하여 새 상자 그림을 만들어 보겠습니다.

    따라서 중간 기능 및 전체 데이터에 대한 결과가 더 나은 것으로 보입니다. 그들이 크게 다른 경우 테스트 해 봅시다

    따라서 통계적 검정은 귀무 가설을 거부하므로 전체 _데이터와 중간 _특징 _데이터의 정확도 분포는 상당히 다릅니다.

    그래서 우리는 실제로 모든 열을 유지하는이 기능 선택을 끝냅니다. 여전히 기능을 제거하여 정확도의 상당한 손실이 있기 때문에.

    최종 결과

    최종 예측 모델을 정리해 보겠습니다. 우리는 데이터의 균형을 맞추는 방법으로 스 모트를 사용하고 무작위 숲을 알고리즘으로 사용하여 10 번 반복 10 번 교차 배 검증을 수행하여 평균 87%의 정확도를 얻었습니다.

    또한 다음과 같은 고객 데이터에서 흥미로운 측면을 포착했습니다:

    • 회사는 오래 되는 시간 고객을 지키기에”좋아”한것을 보인다. 에너지는 새로운 클라이언트를 위해 전략의 실시안에 초점 더 이어야 한다.
    • 월별 유형의 계약은 다른 유형의 계약과 비교할 때 높은 월별 요금에 대해서도 더 큰 이탈률을 보입니다.

    • 광섬유에는 인터넷 서비스가 있는 클라이언트에는 더 높은 휘젓는 비율이 있습니다.

    • 광섬유 동안,높은 휘젓는 속도를 가지고,그들은 또한 높은 총 충전 수를 제공합니다. 따라서 고객이 광섬유 서비스에 만족하지 않는 이유에 대한 더 나은 조사가 중요합니다.

    예,우리는 그것을 만들었습니다! 난 당신이 타고 즐길했습니다 희망 나는 당신의 생각을 듣고 행복 해요.

    향후 단계

    이 데이터 세트에서 할 수있는 다른 많은 것들이 여전히 있음을 상기시켜줍니다:

    • 새로운 알고리즘을 시도
    • 당신이 정확성을 향상시킬 수 있는지 확인하기 위해 일부 튜닝 매개 변수를 최적화 할 수 있습니다.

    다시 한 번 감사드립니다!

답글 남기기

이메일 주소는 공개되지 않습니다.