Maison > développement back-end > C++ > Application simplifiée

Application simplifiée

Linda Hamilton
Libérer: 2024-12-03 04:19:08
original
198 Les gens l'ont consulté

Streamlit app

C

Le taux de désabonnement des clients est aujourd'hui un problème urgent pour de nombreuses entreprises, en particulier sur le marché concurrentiel du logiciel en tant que service (SaaS). Avec l’arrivée d’un plus grand nombre de prestataires de services sur le marché, les clients disposent d’une multitude d’options à portée de main. Cela crée un défi important pour les entreprises qui souhaitent fidéliser leurs clients. Essentiellement, le taux de désabonnement fait référence à la perte de clients lorsqu'ils cessent d'utiliser un service ou d'acheter un produit. Bien que le taux de désabonnement des clients puisse varier selon le secteur, il existe des facteurs communs qui y contribuent, tels que :

  • Manque d'utilisation du produit : les clients peuvent cesser d'utiliser un service parce qu'il ne répond plus à leurs besoins ou qu'ils n'y trouvent pas suffisamment de valeur.
  • Durée du contrat : les clients peuvent se désabonner lorsque leur contrat expire, en particulier s'ils ne se sentent pas suffisamment incités à renouveler.
  • Alternatives moins chères : lorsque des services concurrents proposent des prix inférieurs ou de meilleures fonctionnalités, les clients peuvent opter pour économiser de l'argent ou améliorer leur expérience.

Minimiser le taux de désabonnement est essentiel pour maintenir des sources de revenus saines. Alors que les entreprises cherchent à maintenir leur croissance à long terme, prévoir et prévenir le taux de désabonnement est devenu une priorité. La meilleure approche pour lutter contre le désabonnement est de comprendre profondément vos clients et de répondre de manière proactive à leurs préoccupations ou à leurs besoins. Un moyen efficace d'y parvenir consiste à analyser les données historiques pour découvrir des modèles de comportement, qui peuvent servir d'indicateurs d'un taux de désabonnement potentiel.

Alors, comment pouvons-nous détecter efficacement ces modèles ?

Exploiter l'apprentissage automatique (ML) pour prédire le taux de désabonnement

L'apprentissage automatique (ML) est l'une des solutions les plus prometteuses pour prédire et prévenir le taux de désabonnement. En appliquant des algorithmes de ML aux données client, les entreprises peuvent développer des stratégies de rétention ciblées et basées sur les données. Par exemple, une équipe marketing pourrait utiliser un modèle de prédiction du taux de désabonnement pour identifier les clients à risque et leur envoyer des offres promotionnelles ou des incitations personnalisées pour les réengager.

Pour rendre ces prédictions exploitables, il est essentiel de traduire le modèle ML en une application conviviale et interactive. De cette façon, le modèle peut être déployé en temps réel, permettant aux parties prenantes d'évaluer rapidement le risque client et de prendre les mesures appropriées. Dans ce guide, nous allons vous montrer comment faire passer un modèle ML du développement dans un notebook Jupyter à une application conteneurisée entièrement déployée à l'aide de Streamlit et Docker.

Le rôle de Streamlit dans la création d'applications interactives

Streamlit est un framework Python open source conçu pour créer des applications Web interactives avec un minimum d'effort. Il est particulièrement populaire parmi les data scientists et les ingénieurs en apprentissage automatique, car il leur permet de transformer rapidement des scripts Python et des modèles ML en applications Web entièrement fonctionnelles.

Pourquoi Streamlit ?

  • Code minimal : Streamlit fournit une API intuitive qui vous permet de créer des interfaces utilisateur sans avoir à gérer des codes HTML, CSS ou JavaScript complexes.
  • Développement rapide : grâce à sa syntaxe simple, vous pouvez développer et déployer des applications basées sur les données en une fraction du temps qu'il faudrait avec d'autres frameworks comme Flask ou FastAPI.
  • Composants intégrés : Streamlit propose divers composants d'interface utilisateur prêts à l'emploi, tels que des graphiques, des tableaux, des curseurs et des formulaires de saisie, ce qui facilite la création d'expériences interactives riches.
  • Intégration de modèles : Streamlit fonctionne de manière transparente avec les modèles ML formés. Vous pouvez charger des modèles directement dans l'application et les utiliser pour faire des prédictions en temps réel.

En revanche, les frameworks plus traditionnels comme Flask ou FastAPI nécessitent une connaissance approfondie du développement frontend (HTML/CSS/JavaScript), ce qui les rend moins idéaux pour le développement rapide d'applications centrées sur les données.

Configuration de votre environnement

Avant de créer votre application Streamlit, il est important de configurer l'environnement du projet. Cela garantira que toutes les dépendances nécessaires sont installées et que votre travail reste isolé des autres projets.

Nous utiliserons Pipenv pour créer un environnement virtuel. Pipenv gère les dépendances Python et garantit la cohérence de votre environnement de développement.

Étapes pour installer les dépendances :

  1. Installer Pipenv :

pip installer pipenv

  1. Créez un nouvel environnement virtuel et installez les bibliothèques requises (par exemple, Streamlit, pandas, scikit-learn) :

pipenv install streamlit pandas scikit-learn
`

  1. Activer l'environnement virtuel :

coque pipenv

Après avoir terminé ces étapes, votre environnement sera prêt pour l'exécution du script !

Créer le modèle d'apprentissage automatique

L'objectif de ce projet est de créer un modèle de classification qui prédit si un client va se désintéresser. Pour cela, nous utiliserons la régression logistique, un algorithme populaire pour les problèmes de classification binaire comme la prédiction du taux de désabonnement.

Étapes pour créer le modèle :

  1. Préparation des données :

    • Chargez l'ensemble de données client et inspectez sa structure.
    • Effectuer tout nettoyage de données nécessaire (gestion des valeurs manquantes, correction des types de données).
  2. Compréhension des fonctionnalités :

    • Examinez les caractéristiques numériques et catégorielles pour comprendre leurs distributions et leurs relations avec le taux de désabonnement.
  3. Analyse exploratoire des données (EDA) :

    • Visualisez les données pour identifier les modèles, les tendances et les corrélations.
    • Gérez les valeurs aberrantes et les valeurs manquantes.
  4. Ingénierie des fonctionnalités :

    • Créez de nouvelles fonctionnalités qui pourraient contribuer à améliorer les performances du modèle (par exemple, l'ancienneté des clients, les tranches d'âge).
  5. Formation du modèle :

    • Formez un modèle de régression logistique à l'aide de la bibliothèque Scikit-learn.
    • Utilisez la validation croisée pour affiner les hyperparamètres et éviter le surajustement.
  6. Évaluation du modèle :

    • Évaluez les performances du modèle à l'aide de mesures telles que l'exactitude, la précision, le rappel, le score F1 et la courbe AUC-ROC.

Enregistrement du modèle entraîné

Une fois le modèle formé et évalué, nous devons le sérialiser pour le préparer au déploiement. Pickle est une bibliothèque Python qui vous permet de sérialiser (enregistrer) et de désérialiser (charger) des objets Python, y compris des modèles d'apprentissage automatique entraînés.

python
importer du cornichon

Enregistrer le modèle et le vectoriseur de dictionnaire
avec open('model_C=1.0.bin', 'wb') comme f_out :
pickle.dump((dict_vectorizer, modèle), f_out)

Cette étape garantit que vous n'avez pas besoin de réentraîner le modèle à chaque fois qu'il est utilisé, ce qui permet des prédictions plus rapides.

Créer l'application Streamlit

Maintenant que notre modèle est enregistré, il est temps de le transformer en une application Web interactive.

  1. Configurer l'application Streamlit : dans votre fichier stream_app.py, vous devrez :

    • Importez les bibliothèques nécessaires (Streamlit, Pickle, etc.).
    • Chargez le modèle enregistré et le vectoriseur.
    • Créez une mise en page interactive avec des widgets de saisie (par exemple, des curseurs, des zones de texte) pour collecter des données client.
    • Affichez la prédiction de désabonnement en fonction de la saisie de l'utilisateur.
  2. Interaction utilisateur :

    • Les utilisateurs peuvent saisir les détails du client (par exemple, durée d'occupation, frais mensuels, etc.).
    • La logique backend encode les caractéristiques catégorielles (par exemple, le sexe, le type de contrat) et utilise le modèle pour calculer le score de risque de désabonnement.
  3. Affichage des résultats :

    • Affichez le score de probabilité de désabonnement et un message indiquant si le client est susceptible de se désabonner.
    • Si le score est supérieur à un certain seuil (par exemple, 0,5), déclenchez une recommandation d'intervention (par exemple, des efforts marketing ciblés).
  4. Traitement par lots :

    • Streamlit prend également en charge la notation par lots. Les utilisateurs peuvent télécharger un fichier CSV avec les détails du client, et l'application traitera les données et affichera les scores de désabonnement pour tous les clients du fichier.

Déploiement de l'application avec Docker

Pour garantir que l'application fonctionne de manière transparente dans différents environnements (par exemple, machines locales, services cloud), nous allons conteneuriser l'application à l'aide de Docker.

  1. Créez un fichier Docker :

    • Ce fichier définit comment créer un conteneur Docker qui inclut votre environnement Python et le code de votre application.
  2. Créer l'image Docker :

docker build -t churn-prediction-app .

  1. Exécutez le conteneur Docker :

docker run -p 8501:8501 churn-prediction-app

Cela exposera votre application sur le port 8501, permettant aux utilisateurs d'interagir avec elle depuis leur navigateur.

Conclusion
En combinant l'apprentissage automatique avec des interfaces conviviales telles que Streamlit, vous pouvez créer des applications puissantes qui aident les entreprises à prévoir et à atténuer le taux de désabonnement des clients. La conteneurisation de votre application avec Docker garantit qu'elle peut être facilement déployée et accessible, quelle que soit la plate-forme.

Cette approche permet aux entreprises d'agir de manière proactive, de cibler les clients à risque et, en fin de compte, de réduire le taux de désabonnement, en favorisant la fidélité des clients et en améliorant les sources de revenus.

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!

source:dev.to
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal