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

Méthodes prédictives Discussion :

Question sur les forêts aléatoires


Sujet :

Méthodes prédictives

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 164
    Par défaut Question sur les forêts aléatoires
    Bonsoir,
    j'ai un problème de classification à trois classes (A, B et C). Mes tests ont montré que le meilleur algorithme adapté était les forêts aléatoires de Breiman. Je cherche à améliorer cet algorithme et surtout mieux l'adapter à mon problème.

    J'ai 6 variables représentatives, et j'ai une des classes (A) qui est toujours reconnue à une précision de 100%.

    Ma question est :
    Puis-je effectuer une quelconque amélioration en ce sens, par exemple en affectant un poids plus faible à cette classe lors de la construction de l'arbre ou bien peut-être en manipulant les variables de manière à accentuer le processus aléatoires sur les classes B et C ?
    Merci de vos retours !

  2. #2
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Bonjour,

    une première approche simple consiste à suivre une stratégie "un contre tous". Dans ton cas, on construit trois classifieurs, un spécifique à chaque classe. Le classifieur spécifique à A est obtenu en utilisant les forêts aléatoires après avoir réétiqueter les classes B et C en une seule et même classe, disons D. Le classifieur va donc apprendre à discerner les individus de classes A et D. Le deuxième classifieur est obtenu de la même manière, sauf que cette fois-ci on cherche à reconnaître la classe B en fusionnant les classes A et C en une seule et même classe, disons E. Le dernier classifieur est spécifique à C et obtenu en fusionnant A et B en une une classe, disons F.

    Pour un individu x dont on souhaite prédire la classes, les trois forêts aléatoires générées disent respectivement :
    1. si x est de classe A ou pas
    2. si x est de classe B ou pas
    3. si x est de classe C ou pas
    L'intérêt est d'avoir appris trois modèles simples (binaire) plutôt qu'un modèle plus complexe à 3 classes. On peut donc s'attendre à obtenir de meilleurs résultats pour les prédictions de B et C (A sera toujours reconnu à 100%). Pour le classement final, on adopte généralement un vote majoritaire : on attribue à x la classe qui a obtenu le meilleur score parmi les trois réponses données par les classifieurs.

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 164
    Par défaut
    Bonsoir Aleph69,
    Merci d'être toujours là Si je récapitule, je construis trois forêts aléatoires qui constitueront les entrées à un autre forêt aléatoire, un méta algorithme en quelques sortes, qui traitera les résultats des 3?

  4. #4
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Encore là mais plus pour longtemps, il est tard!

    Il n'y a pas de "super-forêt aléatoire". Il y a seulement les trois que je t'ai décrites. Le méta-apprenant est trivial : il s'agit du vote majoritaire. En gros, tu dois avoir un algorithme qui ressemble à ça :
    IN : donnees, classes {A,B,C}
    1. modelA = apprendreForetAleatoire(donnees,{A,union(B,C)})
    2. modelB = apprendreForetAleatoire(donnees,{B,union(A,C)})
    3. modelC = apprendreForetAleatoire(donnees,{B,union(A,C)})
    4. Pour chaque nouvel individu x
    a. scoreA = appliquerForetAleatoire(modelA,x)
    b. scoreB = appliquerForetAleatoire(modelB,x)
    c. scoreC = appliquerForetAleatoire(modelB,x)
    d. classe(x) = argmax{scoreA,scoreB,scoreC}
    5. Fin pour

    Je pense que les notations sont claires mais si tu as un doute n'hésite pas.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 164
    Par défaut
    Ok.
    Juste une petite question : Je n'ai pas un grand nombre d'échantillons. Quand tu parles de "score", cela veut-il dire que ce que j'ai à disposition servira d'échantillons d'apprentissage (après étiquetage) pour modelA, modelB et modelC, et ensuite j'applique une validation croisée à mon méta-apprenant ? (super-forêt aléatoire sonne bien du reste )

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 164
    Par défaut
    Si j'ai bien compris, il faut que j'entraîne 3 forêts aléatoires séparément sur 3 échantillons différents. Ensuite je les combine ensemble sur un autre échantillon (le vrai). C'est cela?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49
  2. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  3. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  4. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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