1
votes

Puis-je appliquer d'abord la «classification», puis la «régression» au même ensemble de données?

Je suis un débutant en science des données et j'ai besoin d'aide sur un sujet.

J'ai un ensemble de données sur les clients d'une institution. Mon objectif est d'abord de savoir quels clients paieront à cette institution, puis de savoir combien d'argent les clients payants paieront.

Dans ce contexte, je pense que je peux d'abord savoir quels clients paieront par «classement» et ensuite combien paieront en appliquant la «régression».

Donc, je veux d'abord appliquer la «classification», puis appliquer la «régression» à cette sortie. Comment puis je faire ça?


0 commentaires

3 Réponses :


1
votes

Bien sûr, vous pouvez certainement appliquer une méthode de classification suivie d'une analyse de régression. Il s'agit en fait d'un modèle courant lors de l'analyse exploratoire des données.

Pour votre cas d'utilisation, basé sur les informations de base que vous partagez, j'opterais intuitivement pour 1) la régression logistique et 2) la régression linéaire multiple .

La régression logistique est en fait un outil de classification, même si son nom suggère le contraire. Dans un modèle de régression logistique binaire, la variable dépendante a deux niveaux (catégoriques), ce dont vous avez besoin pour prédire si vos clients paieront ou ne paieront pas (décision binaire)

La régression linéaire multiple , appliquée aux mêmes variables indépendantes de votre ensemble de données disponible, vous fournira alors un modèle linéaire pour prédire combien vos clients paieront (c'est-à-dire que la sortie de l'inférence sera une variable continue - le dollar réel attendu valeur).

Ce serait l'approche que je recommanderais de mettre en œuvre, puisque vous êtes nouveau dans ce domaine. Maintenant, il existe évidemment de nombreuses autres façons de définir ces modèles, en fonction des données disponibles, de la nature des données, des exigences des clients, etc., mais l'approche logistique + régression multiple devrait être une valeur sûre pour vous permettre de démarrer.

Faites-moi savoir si vous avez besoin de plus de détails ou de clarifications.


5 commentaires

J'ai un point où je suis confus, j'ai le "id" des clients. Avant de faire une régression logistique, j'ai ajouté une colonne nommée 'label' à l'ensemble 'train' que j'ai et cette colonne obtient la valeur "1" si le client a payé, sinon "0". Le point que je suis bloqué est, après avoir appliqué la "régression logistique" aux données de test, dois-je apprendre les informations "id" client à partir de là et savoir combien d'argent ces clients paieront?


Je pense que l'ID client ne doit pas être une variable dépendante de votre modèle de régression linéaire. La prédiction ne doit pas être basée sur l'identité du client - il doit s'agir d'une décision «aveugle» uniquement basée sur les informations tangibles dont vous disposez pour chaque client (son comportement / modèle d'achat). «Dire» au modèle qui sont les clients (c'est-à-dire utiliser «id» comme une des entrées) introduirait un biais indésirable.


Tout d'abord merci pour votre intérêt. Je ne sais pas comment procéder après avoir appliqué la "régression logistique" à mon ensemble de données. Jusqu'à présent, j'ai rencontré une seule application de modèle dans les exemples. J'ai appliqué la «régression logistique» et comment puis-je m'y prendre? Merci beaucoup.


Disons que vos modèles ont 3 variables d'entrée: income_level , historical_weekly_spending et age , pour chaque client. Le 1er modèle (régression logistique binaire), formé avec des étiquettes binaires pour la variable cible will_buy . Une fois formé, vous pouvez prédire si chaque nouveau client achètera ou non, en fonction de ses propres caractéristiques (revenus, dépenses, âge)


Maintenant, votre deuxième modèle (linéaire multiple regreesion) utilisera les mêmes 3 variables dépendantes comme entrée ( income_level , historical_weekly_spending et age ). La variable cible sera expected_spend . Vous l'entraînez avec des montants de dépenses historiques (étiquettes). Une fois formé, vous pouvez ensuite prédire (déduire) le montant attendu des dépenses de tout nouveau client en fonction de 3 fonctionnalités données. J'espère que cela clarifie un peu l'approche globale.



1
votes

Une autre approche serait d'en faire une régression pure uniquement. Sans travailler sur une cascade de modèles. Ce qui sera plus simple à manipuler

Par exemple, vous pouvez associer les personnes qui ne sont pas disposées à payer la valeur 0 au montant dépensé et adapter le modèle à ces instances.

Pour l'entreprise, vous pouvez alors appliquer un seuil dans lequel si le montant prévu est inférieur à un seuil plus ou moins fixe, vous classez l'utilisateur comme "non disposé à payer"


0 commentaires

1
votes

Bien sûr, vous pouvez le faire en empilant verticalement les modèles. En supposant que vous utilisez la classification binaire, après la prédiction, vous aurez un dataframe avec les valeurs cibles 0 et 1. Vous allez filtrer où cible == 1 et créer un nouveau dataframe. Exécutez ensuite la régression.

En outre, plutôt que la classification, vous pouvez utiliser le clustering si vous n'avez pas d'étiquettes car le coût est inférieur.


0 commentaires