Maison >développement back-end >Tutoriel Python >Prédiction de désabonnement - Compagnie de télécommunications

Prédiction de désabonnement - Compagnie de télécommunications

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-28 10:10:10574parcourir

Churn Prediction - Telco Company

Les prévisions de perte de clientèle de la société de télécommunications

Source de données:

Kaggle Telecom Customer Loss Data Set

bibliothèque de code GitHub:


Customer Telco Churn -github

Présentation du projet


Ce projet utilise la technologie d'apprentissage automatique pour prédire la perte de clients dans les entreprises de télécommunications. L'objectif principal est d'identifier un modèle qui peut amener les clients à annuler le service, permettant à l'entreprise de mettre en œuvre des stratégies de rétention de clientèle actives avant que le client n'arrête le service.

Le projet se concentre sur l'indicateur de taux de rappel.

Analyse des données exploratoires (EDA)

Dans le processus EDA, nous avons exploré le modèle de concentration de données pour comprendre les facteurs liés à la perte du client. La découverte principale comprend:

Contrat mensuel et contrat à long terme: La possibilité de perdre le client mensuel est plus probable, ce qui indique que les contrats à long terme peuvent être plus propices à l'amélioration de la fidélité des clients.

VALEUR-SERVICE ADDDED:

Le taux de perte du client de la valeur de souscription - des services ajoutés (tels que la sécurité en ligne ou le support technique) est souvent faible.

    Temps d'utilisation des clients et frais mensuels:
  • Les clients avec une utilisation plus longue montrent une fidélité plus élevée; les frais mensuels plus élevés sont positifs liés à la perte du client. Supprimer la colonne TotalCharges:
  • Étant donné que la colonne TotalCharges est liée à la hauteur du temps d'utilisation, elle peut affecter la stabilité du modèle, alors supprimez-la.
  • Sélection technique
  • Pourquoi choisir l'algorithme SVM?
  • Les raisons de la sélection de la machine vectorielle de support (SVM) sont les suivantes:
  • Gestion de l'efficacité des petits ensembles de données:
Pour les ensembles de données d'environ 7 000 lignes, SVM peut capturer efficacement les modes complexes sans aucun ajustement.

Options de fonction nucléaire flexibles: En combinant les noyaux nucléaires et RBF linéaires, SVM peut identifier la linéarité et les relations non linéaires via GridSearchCV.

Classification binaire:

SVM est très adapté à ces doubles problèmes, l'objectif est de prédire la perte du client (oui ou non).

Étapes de pré-procédés:

  1. Minmaxscaler: Les modèles comme SVM sont sensibles aux différences d'échelle. Application pour rayonner des variables numériques entre 0 et 1.
  2. Code (OneHotencoder):
  3. Convertir les variables de classification en variables virtuelles. Cela garantit que la catégorie s'exprime correctement dans le format qui peut être compris par un modèle.
  4. Segmentation et vérification des données:
  5. Les ensembles de données sont divisés en 70% d'ensembles de formation et 30% de tests.

Utilisez 50% de réduction sur la vérification pour vérifier pour assurer la stabilité des résultats.

    Processus d'apprentissage automatique
  1. Les étapes sont les suivantes:
    1. Division des ensembles de données: Séparer en raison des variables (perte) et des variables indépendantes pour assurer la segmentation des données correctes des ensembles de formation et des ensembles de tests.
    2. Ajustement de super-reuse de SVM:
    3. Optimisé avec GridSearchCV pour l'optimisation, ajustement: <:> C:
        Paramètres de régularisation, contrôlez l'équilibre entre les marges et les erreurs.
      • Fonction de base: Évaluer le noyau linéaire et le noyau RBF.
      • Index d'évaluation du modèle:
      • Utilisez le modèle d'évaluation de l'indicateur suivant:
    4. Taux de précision:
    5. le pourcentage de la prédiction correcte. Taux de rappel:
        La proportion de la perte de clients (exemples réels).
      • Précision: pourcentage du client de perte qui est reconnu correctement.
      • Score F1: La conformité de la précision et du taux de rappel.
      • ROC AUC:
      • Modélisation des indicateurs de différentes catégories de capacités.
      • Résultats
      • Analyse des résultats:
    Bien que la précision soit très élevée, l'accent est mis sur le taux de rappel, atteignant 56%. Cela signifie identifier la plupart des clients qui peuvent être perdus, afin de prendre des mesures d'intervention positives.

    À l'avenir, la direction de l'amélioration

    指标
    准确率 80.81%
    召回率 56.09%
    精确率 74.35%
    F1 分数 63.95%
    ROC AUC 85.42%
    Données externes intégrées:

    Utiliser les commentaires de la satisfaction du client (tels que NPS ou Réponse d'enquête) Rich Dataset.

    y compris les indicateurs économiques ou régionaux pour identifier les modes spécifiques.


    Essayez d'autres modèles:

    tester xgboost ou LightGBM et d'autres modèles qui peuvent bien gérer l'interaction complexe.
    1. Implémentation de l'importance des caractéristiques pour optimiser la sélection des variables.
      • Automatisation:
      • Développez un processus réel-temps et utilisez le modèle de mise à jour des données avec une mise à jour régulière.
    2. Intégrez le modèle dans le système CRM pour obtenir des mesures automatisées de réservation des clients.
      • Subdivision client:
      • L'objectif du travail de réservation du client est axé sur le segment de marché des clients à grande valeur ou à haut risque.
      Concevoir des stratégies de conservation des clients personnalisés en fonction des caractéristiques du marché.
      • Fichier de projet
      eda.ipynb:
    3. Exploration de l'analyse des données et de l'opinion principale.
    4. pre_processing.py: Script de pré-procédés et de conversion de données.
      • ML_APPLICATION.PY:
      • Formation d'apprentissage automatique, vérification et exportation des résultats.
      • config_template.py:
      Template de variable d'environnement (chemin de jeu de données).

    Informations de contact:

    Si vous avez des questions ou des opportunités de coopération, veuillez contacter LinkedIn à tout moment.

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn