IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Arbre décisionnel C5.0


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Par défaut Arbre décisionnel C5.0
    Bonjour à tous,

    Je travaille actuellement sur les arbres décisionnels et j'essaie de représenter graphiquement mon arbre C5.0.

    Mon arbre semble plutôt bien fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cnt_c50 <- C5.0Control(CF=0.25,minCases=30,sample=0.7)
    myTree <- C5.0(Y ~ X1+X2+X3+....+X30, data=data, control= cnt_c50,trials=100)
    summary(myTree)
    ne renvoie pas d'erreur.
    Par contre, quand j'essaie de le visualiser : J'ai ce message d'erreur :

    Error in partysplit(varid = as.integer(i), index = index, info = k, prob = NULL) : minimum of ‘index’ is not equal to 1
    In addition: Warning message:
    In min(index, na.rm = TRUE) :
    no non-missing arguments to min; returning Inf
    J'ai aussi essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    library(rattle)
    fancyRpartplot(myTree)
    qui renvoit cette erreur :

    Error in if (model$method == "class") { : argument is of length zero
    J'ai lu que cela pouvait être lié à des catégories comprenant trop peu d'individus donc j'ai essayé en supprimant toutes les variables qui pourraient être concernées et j'ai les mêmes erreurs.

    J'ai aussi essayé cette fonction : http://r-project-thanos.blogspot.fr/...rees-in-r.html mais je suis vraiment une bille en programmation donc j'ai des erreurs mais je ne saurai pas dire d'où elles viennent.

    Quelqu'un a-t-il déjà eu ce problème ?

    Par avance merci beaucoup !

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Par défaut
    Bonjour.
    Pour l'utilisation de la fonction rattle::fancyRpartplot, le message est dû au fait qu'elle attend un objet produit par la fonction rpart (arbres CART) et pas C5.0.
    Concernant ton C50::plot, sans certitude, est-ce que l'erreur ne viendrait pas du boosting que tu demandes avec trials=100 ? Si tu produis 100 arbres, lequel veux-tu afficher ?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2014
    Messages : 21
    Par défaut
    Bonjour Olivier,

    Merci pour ta réponse. J'avais lu qu'on pouvait utiliser fancyRpartplot sur Stackoverflow en réponse à quelqu'un qui avait le même problème que moi mais en effet il est bien plus logique d'utiliser cette fonction avec un arbre CART !

    Pour le boosting, en effet si je note trials=1 et non trials=100, je n'obtiens pas le même message d'erreur ! Mais toujours un message d'erreur

    Error in if (!n.cat[i]) { : missing value where TRUE/FALSE needed
    Et si je mets trials=2 :

    Error in xval[j, 1] : subscript out of bounds
    In addition: Warning message:
    In 1:which(out == "Decision tree:") :
    numerical expression has 2 elements: only the first used
    C'est à n'y rien comprendre

    Je pense d'ailleurs qu'il doit être possible de choisir quel arbre des X réalisés on veut afficher, mais je ne connais pas la manip...

    Edit : on peut le faire en ajoutant l'argument trial
    Et le message d'erreur change encore
    Error in !all.equal(diff(sort(unique(index))), rep(1, max(index, na.rm = TRUE) - :
    invalid argument type
    Je me remets donc à mes recherches...

Discussions similaires

  1. IA ou arbre décisionnel en php
    Par Ikayms dans le forum Langage
    Réponses: 4
    Dernier message: 11/03/2019, 14h01
  2. [FLASH MX 2004]Arbre décisionnel
    Par stip dans le forum Flash
    Réponses: 5
    Dernier message: 24/05/2004, 11h14
  3. Qu'est ce qu'un arbre
    Par sandrine dans le forum C
    Réponses: 8
    Dernier message: 23/10/2002, 13h12
  4. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  5. arbre de parcour d'arborescence windows
    Par chupachoc dans le forum Composants
    Réponses: 7
    Dernier message: 09/09/2002, 08h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo