construction d'un modèle de classification pour les données strictement binaires

8

j'ai un ensemble de données strictement binaire. l'ensemble de valeurs de chaque variable appartient au domaine: vrai, faux.

la propriété "spéciale" de cet ensemble de données est qu'une écrasante majorité des valeurs sont "fausses".

j'ai déjà utilisé un algorithme d'apprentissage de réseau bayésien pour apprendre un réseau à partir des données. cependant, pour l'un de mes nœuds cibles (le plus important étant la mort), le résultat AUC n'est pas très bon; c'est un peu mieux que le hasard. même la valeur prédictive positive (VPP), qui m'a été suggérée sur CV, n'était pas en concurrence avec ce qui est rapporté dans la littérature avec d'autres approches. noter que l'ASC (analyse ROC) est le point de référence typique rapporté dans ce domaine de la recherche clinique, mais je suis également ouvert à des suggestions sur la façon de mieux référencer le modèle de classification s'il y a d'autres idées.

donc, je me demandais quels autres modèles de classification je peux essayer pour ce type de jeu de données avec cette propriété (principalement de fausses valeurs).

  • prendrait en charge l'aide de la machine vectorielle? pour autant que je sache, SVM ne traite que des variables continues comme prédicteurs (bien qu'il ait été adapté à plusieurs classes). mais mes variables sont toutes binaires.
  • une forêt aléatoire aiderait-elle?
  • la régression logistique s'appliquerait-elle ici? pour autant que je sache, les prédicteurs de la régression logistique sont également continus. existe-t-il une version généralisée pour les variables binaires comme prédicteurs?

en dehors des performances de classification, je soupçonne que SVM et la forêt aléatoire pourraient très bien surpasser le réseau bayésien, mais le problème se déplace sur la façon d'expliquer les relations dans ces modèles (en particulier aux cliniciens).

Jane Wayne
la source
Cela a été posé plusieurs fois, j'ai répondu à des questions similaires ici: stats.stackexchange.com/questions/78469/… et ici: stats.stackexchange.com/questions/67755/… et quant à la façon d'interpréter les sorties, vous devriez vérifier savoir comment interpréter les effets marginaux de vos variables explicatives sur votre variable cible. Découvrez par exemple: hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/randomForest/html/…
JEquihua
Si vos données sont très clairsemées et généralement assez pauvres, vous voudrez peut-être rechercher un classificateur de voisins les plus proches. Assurez-vous cependant de bien peser vos caractéristiques.
Akavall
@Akavall pourriez-vous s'il vous plaît donner quelques conseils sur la pondération des fonctionnalités correctement? ils sont tous binaires (prédicteurs et variable de classe). Je voudrais m'en tenir au PPV comme poids principal, mais je pourrais également utiliser des informations mutuelles. ou je suppose que je peux utiliser n'importe quel nombre d'analyses d'association de table de contingence.
Jane Wayne
@JaneWayne, les voisins les plus proches ne font rien en termes de sélection / pondération des fonctionnalités; si les fonctionnalités sont mauvaises ou pondérées de manière incorrecte, l'algorithme ferait vraiment mal, en revanche si les fonctionnalités sont correctement pondérées, cet algorithme simple peut très bien fonctionner. Cependant, une pondération correcte n'est pas facile. Et votre solution actuelle pourrait déjà être bonne. Si vous savez quelque chose sur l'ensemble de données, vous pouvez attribuer manuellement des poids plus importants à certaines fonctionnalités. Ou si vous êtes en mesure d'évaluer les performances du modèle à différents moments, vous pouvez adapter une sorte d'algorithme d'apprentissage heuristique au choix
Akavall
fonctionnalités basées sur les performances. Cependant, ici, vous devez supposer que la fonction objective que vous essayez de maximiser est relativement fluide, et qu'il y a un coût dû au compromis de l'exploration et de l'exploitation.
Akavall

Réponses:

4

prendrait en charge l'aide de la machine vectorielle? pour autant que je sache, SVM ne traite que des variables continues comme prédicteurs ...

Les variables binaires ne sont pas un problème pour SVM. Même des noyaux spécialisés existent pour exactement de telles données (noyau Hamming, noyau Tanimoto / Jaccard), bien que je ne recommande pas de les utiliser si vous n'êtes pas intimement familiarisé avec les méthodes du noyau.

la régression logistique s'appliquerait-elle ici? autant que je sache, les prédicteurs de la régression logistique sont également continus

La régression logistique fonctionne avec des prédicteurs binaires. C'est probablement votre meilleure option.

comment expliquer les relations dans ces modèles (en particulier aux cliniciens).

Si vous utilisez SVM linéaire, il est assez simple d'expliquer ce qui se passe. La régression logistique est cependant une meilleure option, car la plupart des cliniciens connaissent réellement ces modèles (et j'entends par là que j'en ai entendu parler ).

Marc Claesen
la source
1

Je voudrais partager mon expérience de classification d'environ 0,3 million de données binaires avec une majorité de fausses valeurs. J'ai utilisé SVM linéaire, arbres complexes, LDA, QDA, régression logistique, etc. Toutes ces méthodes avaient une efficacité d'environ 54%, ce qui n'est pas bon. Selon mon professeur, les méthodes de classification qui pourraient m'aider dans ce problème sont les réseaux neuronaux, SVM quadratique mais je ne les ai pas testés. J'espère que cela pourrait aider.

Animate_Ant
la source