Welche der 180 Algorithmen im Caret-Paket von R sind möglich?

10

Das Caret-Paket von R funktioniert mit 180 Modellen. Der Autor warnt davor, dass ein Teil des Pakets unlösbar langsam oder weniger genau sein kann als Modelle der ersten Wahl.

Der Autor ist nicht falsch. Ich habe versucht, Boruta- und evtree-Modelle zu trainieren und musste aufgeben, nachdem sie> 5 Stunden in einem Cluster gelaufen waren.

Der Autor verweist auf eine Reihe von Benchmarks für maschinelles Lernen , die jedoch nur die Leistung einer kleinen Anzahl von Algorithmen abdecken und verschiedene Implementierungen vergleichen.

Gibt es eine andere Ressource, an die ich mich wenden kann, um zu erfahren, welches der 180 Modelle einen Versuch wert ist und welches sehr ungenau oder unangemessen langsam sein wird?

Hack-R
quelle
1
Kommt ganz auf deine Daten an. Was versuchen Sie zu tun, wie viele Daten haben Sie und wie sieht es aus?
stmax
@stmax Das ist wahr. Es hängt definitiv teilweise von den spezifischen Daten ab. Aber es ist auch etwas verallgemeinerbar, weshalb sie ML-Benchmarking durchführen. Ich suche wirklich nur nach allgemeinen Benchmarks. Zu jeder Zeit habe ich 4 - 5 verschiedene Projekte, an denen ich arbeite, und ich bitte dies eher um allgemeine / zukünftige Referenz als um eine spezifische Analyse. Ich beschäftige mich normalerweise mit 40.000 - 2.000.000 Zeilen und normalerweise mit ungefähr 100 Prädiktoren. Am häufigsten von mehreren Klassen abhängige Variablen.
y0gapants
1
Lesen Sie diese Studie, in der 179 verschiedene Modelle mit 121 Datensätzen verglichen werden. Es geht um die Genauigkeit der Modelle in den Datensätzen, aber nicht so sehr um die Geschwindigkeit.
Phiver
1
@phiver Das ist sehr nützlich. Ich könnte eine solche auf Geschwindigkeit veröffentlichen, wenn niemand dies getan hat.
Hack-R

Antworten:

13

Benchmarking von mlr (Standard) -Lernenden unter OpenML

Philipp Probsts Ml-Benchmarking Die gesamte Openml- Datenbank der ML-Ergebnisse.

Test von RStudio schlägt SVM vor.

Mlmastery schlägt LDA und Trial and Error vor .

Benötigen wir Hunderte von Klassifikatoren, um echte Klassifikationsprobleme zu lösen? von Fern ́andez-Delgado et al.

Die Arbeit kommt zu dem Schluss, dass der parallele Zufallswald (parRF_t) am besten folgt, gefolgt vom Zufallswald, LibSVM mit dem Gaußschen Kernel (svm), einer extremen Lernmaschine mit dem Gaußschen Kernel, dem C5.0-Entscheidungsbaum und dem mehrschichtigen Perzeptron (avNNet).

Die besten Boosting- und Bagging-Ensembles verwenden LibSVM als Basisklassifikatoren (in Weka), etwas besser als der einzelne LibSVM-Klassifikator, und Adaboost R (Ensemble von Entscheidungsbäumen, die mit Adaboost.M1 trainiert wurden). Das probabilistische neuronale Netzwerk in Matlab, das die Ausbreitung des Gaußschen Kerns (pnn m) abstimmt, und das direkte Kernel-Perzeptron in C (dkp C), ein sehr einfaches und schnelles neuronales Netzwerk, das von uns vorgeschlagen wurde (Fern ́andez-Delgado et al., 2014). , sind auch sehr nahe an den Top-20.

Wainer, Jacques (2016) Vergleich von 14 verschiedenen Familien von Klassifizierungsalgorithmen an 115 binären Datensätzen Basierend auf Fernandez-Delgado et al. (2014). "Wir haben gezeigt, dass zufällige Wälder, RBF-SVM und Gradientenverstärkungsmaschinen Klassifizierungsalgorithmen sind, die höchstwahrscheinlich zu höchster Genauigkeit führen."

Rich Caruana & Alexandru Niculescu-Mizil () Ein empirischer Vergleich von überwachten Lernalgorithmen (Klassifizierung) schließt mit Platt-kalibrierten Boosted Trees als am besten befolgter RF BagT Cal.SVM NN.

Viele andere Studien beinhalten Vergleiche der verwendeten Modelle. Einige Artikel bevorzugen SVM, andere SVM mit radialer Basis oder Polynomkern zur Klassifizierung. (vielleicht dasselbe)

Aufgrund meiner eigenen Regressionen bei generierten Daten empfehle ich Earth (MARS) Cubist SVMlinear.

In der Manisha-Arbeit werden zunächst Tests am UCI Machine Learning Repository durchgeführt, dann die Bodenfruchtbarkeit, die im Mittelpunkt der Arbeit steht. Die besten Modelle für UCI waren: "Elm-Kernel ist das neuronale ELM-Netzwerk, aber mit Gauß-Kernel", "SVR ist die Support-Vektor-Maschine für die Regression, wobei Gauß-Kernel die Lib-SVM-Bibliothek mit der C ++ - Schnittstelle verwendet", extraTrees und Cubist. Die Arbeit enthält großartige Beschreibungen der einzelnen Modelle und Links zu weiteren Veröffentlichungen: "extraTrees erzielte den besten RMSE für 7 von 10 Bodenproblemen". Papier ist auf jeden Fall eine Lektüre wert.

ran8
quelle
1
Die meisten Algorithmen erfordern eine sorgfältige Abstimmung der Hyperparameter, selbst OLS (Auswahl von Interaktionen, Nichtlinearitäten usw.). Ein "blinder" Vergleich bevorzugt einfach abzustimmende Algorithmen wie zufällige Wälder.
Michael M
Oder Algorithmen, die Interaktionen und Nichtlinearität erkennen. Besonders in meinen künstlichen Spielzeugtests. Kubistische Moba Mars mögen Models. SVM auch mit erweiterten Kerneln.
ran8
1
Es gibt gute Algorithmen zum Erkennen von Interaktionen und Linearitäten, die eine Feinabstimmung erfordern, um eine bessere Leistung zu erzielen. RF haben normalerweise nicht viel Raum für Verbesserungen, aber andere Algo können sich durch Feinabstimmung viel mehr verbessern. Zum Beispiel können Sie xgboost nehmen, das in Ihrem Benchmark einen schlechten Rang hat, obwohl es ausgiebig verwendet wird, um Kaggle-Wettbewerbe zu gewinnen. Ein weiteres Beispiel dafür, was schlecht eingestellte Parameter
bewirken