Chciałbym mieć tyle algorytmów, które wykonują to samo zadanie, co regresja logistyczna. To są algorytmy / modele, które mogą przewidywać odpowiedź binarną (Y) za pomocą zmiennej objaśniającej (X).
Byłbym zadowolony, jeśli po nazwiesz algorytm, pokażesz również, jak go zaimplementować w R. Oto kod, który można zaktualizować za pomocą innych modeli:
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
źródło
źródło
Odpowiedzi:
Obecnie popularne są randomForest i gbm (zwane w literaturze uczeniem maszynowym MART lub Gradient Boosting), będące odpowiednikiem prostych drzew. Popularny jest również bayesglm, który używa MAP z priorytetami do regularyzacji.
źródło
W rzeczywistości zależy to od tego, co chcesz uzyskać. Jeśli regresję logistyczną wykonujesz tylko dla prognoz, możesz użyć dowolnej nadzorowanej metody klasyfikacji odpowiedniej dla twoich danych. Inna możliwość: analiza dyskryminacyjna (lda () i qda () z pakietu MASS)
Z drugiej strony, jeśli potrzebujesz przedziałów ufności wokół swoich prognoz lub standardowych błędów w swoich szacunkach, większość algorytmów klasyfikacji nie pomoże. Można użyć uogólnionych modeli addytywnych (mieszanych), dla których dostępnych jest wiele pakietów. Często używam pakietu mgcv Simona Wooda. Uogólnione modele addytywne zapewniają większą elastyczność niż regresja logistyczna, ponieważ można używać splajnów do modelowania predyktorów.
Jest o wiele więcej do zrobienia:
...
Poleciłbym książkę Simona Wooda o ogólnych modelach addytywnych
źródło
Zgadzam się z Joe i dodałbym:
Zasadniczo można zastosować dowolną metodę klasyfikacji, choć będzie ona zależeć od danych / sytuacji. Na przykład możesz również użyć SVM, prawdopodobnie z popularnym modelem C-SVM. Oto przykład z jądra używającego radialnej funkcji jądra:
źródło
Istnieje około 100 modeli klasyfikacji i regresji, które można trenować za pomocą pakietu Caret . Każdy z modeli klasyfikacji będzie dla ciebie opcją (w przeciwieństwie do modeli regresji, które wymagają ciągłej reakcji). Na przykład, aby wytrenować losowy las:
Zobacz winietę szkoleniową z modelami Caret, która jest dostarczana z dystrybucją, aby uzyskać pełną listę dostępnych modeli. Jest on podzielony na modele podwójnego zastosowania i modele klasyfikacji (z których można korzystać) i tylko na regresję (których nie można). Caret automatycznie wyszkoli dla Ciebie parametry wybranego modelu.
źródło
Naive Bayes to dobra prosta metoda szkolenia danych w celu znalezienia odpowiedzi binarnej.
źródło
Istnieją dwie odmiany regresji logistycznej, które nie zostały jeszcze przedstawione. Po pierwsze, regresja logistyczna szacuje prawdopodobieństwo za pomocą funkcji logistycznej, która jest skumulowanym rozkładem logistycznym (znanym również jako sigmoid). Można również oszacować prawdopodobieństwa za pomocą funkcji pochodzących z innych rozkładów. Najczęstszym sposobem oprócz regresji logistycznej jest regresja probitowa, która pochodzi z rozkładu normalnego. Aby uzyskać bardziej szczegółową dyskusję między różnicami między probitem a logitem, odwiedź następującą stronę.
Różnica między modelami logit i probit
Druga alternatywa wskazuje na tygodniową implementację funkcji logistycznej. Jeśli masz małą próbkę i / lub brakuje wartości, funkcja logistyczna nie jest wskazana. Dlatego dokładna regresja logistyczna jest lepszym modelem. Logarytmiczne szanse wyniku modeluje się jako liniową kombinację zmiennych predykcyjnych.
Ponadto istnieją inne alternatywy, o których warto wspomnieć:
Uwaga końcowa: regresja logistyczna jest taka sama jak mała sieć neuronowa bez ukrytych warstw i tylko jeden punkt w warstwie końcowej. Dlatego możesz używać implementacji pakietów sieci neuronowych, takich jak
nnet
R.Edytować:
Kilka tygodni później zdałem sobie sprawę, że istnieje również algorytm Winnow i Perceptron . Oba są klasyfikatorami, które działają również w przypadku klasyfikacji na dwie grupy, ale obie wypadły z łask w ciągu ostatnich 15 lat.
źródło