Je voudrais autant d’algorithmes effectuant la même tâche que la régression logistique. Ce sont des algorithmes / modèles qui peuvent donner une prédiction à une réponse binaire (Y) avec une variable explicative (X).
Je serais heureux si, après avoir nommé l'algorithme, vous montriez également comment l'implémenter dans R. Voici un code qui peut être mis à jour avec d'autres modèles:
set.seed(55)
n <- 100
x <- c(rnorm(n), 1+rnorm(n))
y <- c(rep(0,n), rep(1,n))
r <- glm(y~x, family=binomial)
plot(y~x)
abline(lm(y~x), col='red', lty=2)
xx <- seq(min(x), max(x), length=100)
yy <- predict(r, data.frame(x=xx), type='response')
lines(xx, yy, col='blue', lwd=5, lty=2)
title(main='Logistic regression with the "glm" function')
r
regression
logistic
classification
predictive-models
Tal Galili
la source
la source
Réponses:
RandomForest et gbm (appelés MART ou Gradient Boosting dans la littérature sur l’apprentissage automatique) sont actuellement populaires. Le bayesglm, qui utilise MAP avec des a priori pour la régularisation, est également populaire.
la source
En fait, cela dépend de ce que vous voulez obtenir. Si vous effectuez une régression logistique uniquement pour les prévisions, vous pouvez utiliser toute méthode de classification supervisée adaptée à vos données. Autre possibilité: analyse discriminante (lda () et qda () du paquet MASS)
D'autre part, si vous avez besoin d'intervalles de confiance autour de vos prédictions ou d'erreurs standard sur vos estimations, la plupart des algorithmes de classification ne vous aideront pas. Vous pouvez utiliser des modèles additifs (mixtes) généralisés, pour lesquels plusieurs packages sont disponibles. J'utilise souvent le paquet mgcv de Simon Wood. Les modèles additifs généralisés offrent plus de flexibilité que la régression logistique, car vous pouvez utiliser des splines pour modéliser vos prédicteurs.
Il y a encore beaucoup à faire:
...
Je recommanderais le livre de Simon Wood sur les modèles d'additifs généralisés
la source
Je suis d'accord avec Joe et ajouterais:
Toute méthode de classification peut en principe être utilisée, bien que cela dépende des données / de la situation. Par exemple, vous pouvez également utiliser un SVM, éventuellement avec le modèle C-SVM populaire. Voici un exemple de kernlab utilisant une fonction de noyau de base radiale:
la source
Il existe environ 100 modèles de classification et de régression qui peuvent être formés via le package Caret . N'importe lequel des modèles de classification sera une option pour vous (par opposition aux modèles de régression, qui nécessitent une réponse continue). Par exemple pour former une forêt au hasard:
Voir la vignette de formation des modèles caret fournie avec la distribution pour une liste complète des modèles disponibles. Il est divisé en modèles à double usage et de classification (que vous pouvez utiliser tous les deux) et en régression uniquement (ce que vous ne pouvez pas). caret formera automatiquement les paramètres du modèle que vous avez choisi.
la source
Naive Bayes est une bonne méthode simple d’entraînement des données pour trouver une réponse binaire.
la source
Il existe deux variantes de la régression logistique qui ne sont pas encore décrites. Tout d'abord, la régression logistique estime les probabilités à l'aide d'une fonction logistique qui est une distribution logistique cumulative (également appelée sigmoïde). Vous pouvez également estimer les probabilités à l'aide de fonctions dérivées d'autres distributions. La méthode la plus courante en dehors de la régression logistique est la régression probit, qui est dérivée de la distribution normale. Pour une discussion plus détaillée entre les différences de probit et de logit, veuillez visiter le site suivant.
Différence entre les modèles logit et probit
La deuxième alternative indique un hebdomadaire de la fonction logistique que vous avez implémentée. Si vous avez un petit échantillon et / ou des valeurs manquantes, la fonction logistique n'est pas recommandée. Par conséquent, une régression logistique exacte constitue un meilleur modèle. Les probabilités logarithmiques du résultat sont modélisées comme une combinaison linéaire des variables de prédicteur.
En outre, il existe d’autres alternatives comme celles mentionnées ci-dessous:
Remarque finale: une régression logistique est identique à un petit réseau de neurones sans couches cachées et un seul point dans la couche finale. Par conséquent, vous pouvez utiliser des implémentations de packages de réseaux neuronaux tels que
nnet
dans R.Modifier:
Quelques semaines plus tard, j'ai réalisé qu'il existait également l' algorithme Winnow et l' algorithme Perceptron . Les deux sont des classificateurs qui fonctionnent également pour les classifications en deux groupes, mais tous deux sont tombés en disgrâce au cours des 15 dernières années.
la source