Comment un point de division est-il choisi pour les variables continues dans les arbres de décision?


15

J'ai deux questions liées aux arbres de décision:

  1. Si nous avons un attribut continu, comment choisissons-nous la valeur de fractionnement?

    Exemple: Âge = (20,29,50,40 ....)

  2. Imaginons que nous ayons un attribut continu qui ont des valeurs dans . Comment puis-je écrire un algorithme qui trouve le point de partage , afin que lorsque nous divisons par , nous ayons un gain minimum pour ?FRvFvF>v

Réponses:


18

Afin de trouver un point de partage, les valeurs sont triées et les points médians entre les valeurs adjacentes sont évalués en termes de métrique, généralement un gain d'informations ou une impureté gini. Pour votre exemple, disons que nous avons quatre exemples et que les valeurs de la variable âge sont . Les points médians entre les valeurs sont évalués et la répartition qui donne le meilleur gain d'informations (ou la métrique que vous utilisez) sur les données d'entraînement est utilisée.(20,29,40,50)(24,5,34,5,45)

Vous pouvez gagner du temps de calcul en vérifiant uniquement les points de partage qui se trouvent entre des exemples de classes différentes, car seuls ces fractionnements peuvent être optimaux pour le gain d'informations.


@timleathart l'OP s'attend à être "nourri à la cuillère" de l'implémentation dans R. Je me demande ce que l'OP a essayé jusqu'à présent en référence à l'implémentation de R? Que diriez-vous de "montrer un peu d'effort", OP?
mnm

@timleathart mais normalement pour un attribut f nous choisissons le split v qui donne le plus grand gain d'informations pour f> v, mais ici, regardez la question qu'ils ont posée pour un gain minimum.
WALID BELRHALMIA

@timleathart, pouvez-vous expliquer plus? J'ai besoin de connaître la meilleure façon d'optimiser l'identification de ces divisions et de vérifier le gain d'informations. Disons qu'une variable a beaucoup de variation et l'autre est presque constante. Combien de telles divisions devraient-elles y avoir?
Arpit Sisodia

@timeleathart, étendant votre réponse, ce fractionnement ne sera pas optimisé lorsque les valeurs sont (20,21,22,23, 45,67,80). l'itération min à max ne devrait-elle pas être utilisée ici? Veuillez me corriger si je me trompe dans mon hypothèse :)
Arpit Sisodia

Cela clarifie mes confusions!
Jinhua Wang
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.