Quel est le meilleur classificateur 2 classes prêt à l'emploi pour votre application? [fermé]

15

Règles:

  • un classificateur par réponse
  • voter si vous êtes d'accord
  • downvote / supprimer les doublons.
  • mettez votre candidature dans le commentaire
Łukasz Lew
la source

Réponses:

14

Forêt aléatoire

  • capture facilement la structure complexe / relation non linéaire
  • invariant à l'échelle des variables
  • pas besoin de créer de variables fictives pour les prédicteurs catégoriques
  • la sélection des variables n'est pas vraiment nécessaire
  • relativement difficile à équiper
Łukasz Lew
la source
Sélection active des motifs Aptamer, prévision de l'humidité des sols forestiers, OCR numérique, analyse d'images satellite multispectrales, recherche d'informations musicales, chimiométrie ...
13

Régression logistique :

  • rapide et performant sur la plupart des jeux de données
  • presque aucun paramètre à régler
  • gère les deux fonctions discrètes / continues
  • le modèle est facilement interprétable
  • (pas vraiment limité aux classifications binaires)
Amro
la source
Peut-être pas de paramètres à régler, mais il faut vraiment travailler avec des variables continues (transformations, splines, etc.) pour induire une non linéarité.
B_Miner
12

Machine de vecteur de support

Łukasz Lew
la source
Il n'y a rien vraiment spécial dans le SVM, à part qu'il oblige l'utilisateur à penser à la régularisation. Pour la plupart des problèmes pratiques, la régression de la crête [noyau] fonctionne aussi bien.
Dikran Marsupial
2
@dikran je pense que SVM est un grand classificateur car il est clairsemé et robuste aux valeurs aberrantes - ce n'est pas vrai pour la régression logistique! et c'est pourquoi SVM est un classificateur de pointe. Le seul problème qui peut être un problème est - la complexité du temps - mais je pense que c'est correct.
suncoolsu
@suncoolsu Si vous voulez la rareté, vous obtenez plus de rareté de la régression logistique régularisée avec LASSO que vous ne le faites avec le SVM. La rareté du SVM est un sous-produit de la fonction de perte, donc vous n'obtenez pas autant que vous le faites avec un algorithme où la rareté est un objectif de conception. Souvent aussi avec la valeur optimale de l'hyper-paramètre (par exemple choisi via la validation croisée) la plupart de la rareté du SVM disparaît. Le SVM n'est pas plus robuste aux valeurs aberrantes que la régression logistique régularisée - c'est surtout la régularisation qui compte, pas la perte de charnière.
Dikran Marsupial
@Dikran - exactement ce que je veux dire - une sorte de pénalisation est importante. Vous pouvez l'obtenir en utilisant Priors, en ajoutant des pénalités, etc.
suncoolsu
1
@suncoolsu Dans ce cas, le SVM n'est pas un grand classificateur, il n'est qu'un parmi de nombreux classificateurs régularisés, tels que la régression de crête, la régression logistique régularisée, les processus gaussiens. Le principal avantage du SVM est son attrait de la théorie de l'apprentissage informatique. En pratique, d'autres considérations sont plus importantes, par exemple si vous avez besoin d'un classificateur probabiliste, où d'autres fonctions de perte sont susceptibles d'être supérieures. À mon humble avis, il y a trop d'attention accordée au SVM, plutôt qu'à la famille plus large de méthodes du noyau.
Dikran Marsupial
7

Discriminant régularisé pour les problèmes supervisés avec des données bruyantes

  1. Efficacité informatique
  2. Robuste au bruit et aux valeurs aberrantes dans les données
  3. Les classificateurs discriminants linéaires (LD) et discriminants quadratiques (QD) peuvent être obtenus à partir de la même implémentation en définissant les paramètres de régularisation «[lambda, r]» sur «[1 0]» pour le classificateur LD et «[0 0]» pour Classificateur QD - très utile à des fins de référence.
  4. Le modèle est facile à interpréter et à exporter
  5. Fonctionne bien pour les ensembles de données clairsemés et «larges» où les matrices de covariance de classe peuvent ne pas être bien définies.
  6. Une estimation de la probabilité de classe postérieure peut être estimée pour chaque échantillon en appliquant la fonction softmax aux valeurs discriminantes pour chaque classe.

Lien vers le document original de 1989 de Friedman et al ici . Il y a aussi une très bonne explication de Kuncheva dans son livre " Combining pattern classifiers ".

BGreene
la source
5

Arbres boostés par gradient.

  • Au moins aussi précis que RF sur de nombreuses applications
  • Intègre les valeurs manquantes de manière transparente
  • Importance de la var (comme RF probablement biaisé en faveur d'un niveau nominal continu et à plusieurs niveaux)
  • Tracés de dépendance partielle
  • GBM versus randomForest dans R: gère BEAUCOUP de plus grands ensembles de données
B_Miner
la source
4

Classificateur de processus gaussien - il donne des prédictions probabilistes (ce qui est utile lorsque vos fréquences opérationnelles de classe relative diffèrent de celles de votre ensemble d'entraînement, ou équivalent vos coûts faux positifs / faux négatifs sont inconnus ou variables). Il fournit également une indication de l'incertitude dans les prévisions du modèle en raison de l'incertitude dans «l'estimation du modèle» à partir d'un ensemble de données fini. La fonction de co-variance est équivalente à la fonction de noyau dans un SVM, elle peut donc également fonctionner directement sur des données non vectorielles (par exemple des chaînes ou des graphiques, etc.). Le cadre mathématique est également soigné (mais n'utilisez pas l'approximation de Laplace). Sélection automatisée du modèle en maximisant la vraisemblance marginale.

Combine essentiellement les bonnes caractéristiques de la régression logistique et du SVM.

Dikran Marsupial
la source
Y a-t-il un package R que vous recommandez qui implémente cela? Quelle est votre implémentation préférée pour cette méthode? Merci!
julieth
J'ai bien peur d'être un utilisateur de MATLAB (j'utilise le package GPML gaussianprocess.org/gpml/code/matlab/doc ), donc je ne peux pas vous conseiller sur les implémentations R, mais vous pouvez trouver quelque chose qui convient ici gaussianprocess.org/# code . Si R n'a pas un package décent pour les GPs, quelqu'un doit en écrire un!
Dikran Marsupial
OK merci. Cette méthodologie permet-elle de sélectionner "des variables importantes, telles que l'importance variable des forêts aléatoires ou l'élimination des caractéristiques récursives avec les SVM?
julieth
Oui, vous pouvez utiliser une fonction de covariance "Détermination automatique de la pertinence" et choisir les hyper-paramètres en maximisant les preuves bayésiennes pour le modèle (bien que cela puisse se heurter au même type de problèmes de sur-ajustement que vous rencontrez avec SVMS, si souvent le modèle fonctionne mieux sans sélection de fonction).
Dikran Marsupial
4

Régression logistique régularisée L1.

  • Il est rapide sur le plan des calculs.
  • Il a une interprétation intuitive.
  • Il ne dispose que d'un seul hyperparamètre facilement compréhensible qui peut être réglé automatiquement par validation croisée, ce qui est souvent une bonne façon de procéder.
  • Ses coefficients sont linéaires par morceaux et leur relation avec l'hyperparamètre est instantanément et facilement visible dans un tracé simple.
  • C'est l'une des méthodes les moins douteuses pour la sélection des variables.
  • De plus, il a un nom vraiment cool.
miura
la source
+1 L'hyper-paramètre peut également être intégré analytiquement, de sorte qu'il n'y a pas vraiment besoin de validation croisée pour de nombreuses applications, voir par exemple theoval.cmp.uea.ac.uk/publications/pdf/nips2006a.pdf et bioinformatique .oxfordjournals.org / content / 22/19 / 2348.full.pdf .
Dikran Marsupial
3

kNN

user88
la source
3

Naive Bayes et Random Naive Bays

user88
la source
2
Pouvez-vous donner une description d'un problème où RNB vous a donné de bons résultats?
Łukasz Lew
Non ;-) Ce n'était que pour faire revivre la piscine.
1

Cluster K- means pour un apprentissage non supervisé.

berkay
la source
La question demande spécifiquement un classificateur.
Prometheus