Classification suivie par la régression à la variable de réponse de la poignée qui est généralement nulle

datascience.stackexchange https://datascience.stackexchange.com/questions/18433

Question

J'ai un ensemble de données composé d'un groupe de facteurs prédictifs (nombres réels positifs ou la plupart du temps sans bornes) et une seule variable de réponse que je souhaite prévoir. La réponse est généralement exactement zéro - environ 90% du temps. Je l'ai essayé de modéliser ce processus en utilisant des méthodes de gaussiennes standard ainsi que les forêts aléatoires. Cependant, dans les deux cas (bien que moreso lors de l'utilisation des forêts aléatoires), le modèle semble gérer les données mal, prédire habituellement une réponse non nulle. Maintenant, si les réponses prédites étaient en fait très proche de zéro, je pouvais configurer une coupure au-dessous duquel les valeurs seraient arrondies à zéro, mais ils sont dans de nombreux cas sensiblement non nulle.

Mon idée d'une solution est de former deux modèles: un modèle de classification formé sur l'ensemble de la formation-ensemble qui prédit si une variable est nul ou non nul, et un modèle de régression formé uniquement sur les lignes dans l'ensemble de la formation avec une réponse non nulle. Je puis d'abord utiliser le modèle de classification de prédire quelles observations ont une réponse qui est exactement égal à zéro, et par la suite en utilisant le modèle de régression pour prédire la valeur des réponses non nulles.

Est-ce un moyen solide pour résoudre le problème décrit? Est-ce que ce genre de modèle a un nom? Y at-il de meilleures façons de le faire?

Était-ce utile?

La solution

Cela semble tout à fait raisonnable, et le nom habituel pour cette structure que je l'ai entendu pour cela est juste « pipeline » qui applique également à d'autres systèmes-feeds-next-système des structures - il pourrait aussi être « pipeline d'apprentissage de la machine » ou " pipeline de traitement des données ».

Il existe des moyens pour évaluer la performance d'un pipeline ML:

  • Vous pouvez bien sûr comparer la valeur exactitude ou la perte finale, avec le modèle plus simple. A transformer le modèle en une à plusieurs étapes plus complexes des choses réellement améliorée? Malheureusement, rien n'est garanti, bien que je serais plein d'espoir dans votre cas initialement -. En partie parce que vous pouvez appliquer des ajustements aux modèles disponibles classificateurs utilisés pour traiter les problèmes de déséquilibre de classe

  • Vous pouvez décider quelle partie du gazoduc vous tirer le meilleur parti de la commutation entre l'entrée de pipeline si lointain à chaque unité et entrée parfaite à partir des données de formation. Ensuite, vous pouvez voir comment beaucoup de différence supplémentaire est possible en mettant au point cette unité dans le pipeline.

Dans votre cas, vous avez un pipeline à deux étages, de sorte que vous pouvez vérifier s'il convient de se concentrer plus d'efforts sur les parties du classificateur ou régression en comparant les améliorations progressives entre:

  1. La sortie non corrigé de l'ensemble de bout en bout de course pipeline.

  2. La sortie de la régression (ou nul) en supposant que le classificateur était parfait.

  3. Un score parfait.

Quelle que soit des deux différences que vous donne la plus grande différence (2) - (1) ou (3) -. (2) points au travail étant plus récompensés pour travailler sur la scène classificateur ou régression respectivement

Vous pouvez voir un exemple travaillé de cette analyse par étapes dans Conseils pour l'application machine apprentissage (diapositives 21, 22), entre autres lieux.

Licencié sous: CC-BY-SA avec attribution
scroll top