Unterstützt Tensorflow einen Entscheidungsbaumklassifizierer?

7

Ich versuche, einen Entscheidungsbaumklassifizierer zu implementieren, um meinen Datensatz zu klassifizieren. Ich benutze Python. Jetzt ist es einfach in scikit learn zu implementieren, aber wie kann ich dies in tensorflow implementieren.

Taimur Islam
quelle
Selbst wenn Entscheidungsbäume für TensorFlow angeboten würden (was sie nicht tun), würde ich nicht empfehlen, sie zu verwenden. Es gibt so viel technischen Aufwand, ein Tensorflow-Modell im Vergleich zu sklearn zum Laufen zu bringen ... Wählen Sie das richtige Werkzeug für den Job! < scikit-learn.org/stable/modules/tree.html >
Michael Higgins

Antworten:

7

Grundsätzlich unterstützt ich TensorFlowkeine Entscheidungsbäume. Ich zitiere aus hier ,

Dies ist eine große Vereinfachung, aber es gibt heute im Wesentlichen zwei Arten von Bibliotheken für maschinelles Lernen Deep learning (CNN, RNN, vollständig verbundene Netze, lineare Modelle) und alles andere (SVM, GBMs, zufällige Wälder, naive Bayes, K-NN usw. ). Der Grund dafür ist, dass Deep Learning viel rechenintensiver ist als andere traditionellere Trainingsmethoden und daher eine intensive Spezialisierung der Bibliothek erfordert (z. B. Verwendung einer GPU und verteilter Funktionen). Wenn Sie Python verwenden und nach einem Paket mit der größten Bandbreite an Algorithmen suchen, versuchen Sie es mit scikit-learn. In der Realität müssen Sie mehr als eine Bibliothek verwenden, wenn Sie Deep Learning und traditionellere Methoden verwenden möchten. Es gibt kein "vollständiges" Paket.

Sie können hier sehen, dass andere Lernalgorithmen implementiert sind, bei TensorFlowdenen es sich nicht um tiefe Modelle handelt.

Sie können einen Blick auf , hier Algorithmen zur Verfolgung implementiert in TensorFlow.

Medien
quelle
Ich bin hin und her gerissen: Ich bin mit der Begründung Ihres Zitats an Bord, aber andererseits: Random Forrest ist eine Art Baumlerner.
S van Balen
@SvanBalen Ich verstehe nicht was du meinst.
Medien
Tensorflow unterstützt zufällige Wälder (wie durch den von Ihnen angegebenen Link dokumentiert). Zufällige Wälder sind eine besondere Art von Baumlernern. Obwohl Tensorflow scheinbar keine normalen Lernenden (CART oder C45) unterstützt und es sich in erster Linie um eine Bibliothek für tiefes Lernen handelt und auch ich sklearn verwenden würde, unterstützt es technisch einen Baumlerner, wodurch Ihre Aussage falsch wird.
S van Balen
1
@SvanBalen Ich danke Ihnen, wenn ich wirklich einen Fehler bei der Ankündigung gemacht habe, aber ich weiß nicht, wo ich falsch liege. Ich habe gesagt, TensorFlowunterstützt keine Entscheidungsbäume, was wirklich der Fall ist. Welcher Teil liegt falsch?
Medien
TF unterstützt zufällige Gesamtstruktur, zufällige Gesamtstruktur ist ein Entscheidungsbaum (ein bestimmter Typ), daher unterstützt TF Entscheidungsbäume. Aber wie gesagt: Ich bin hin und her gerissen, ob Ihre Aussage falsch ist: Technisch ist es, aber für alle praktischen Zwecke ist es nicht.
S van Balen
3

Ähnlich wie in dem anderen Beitrag hat TensorFlow neben anderen nicht-tiefen Lernalgorithmen auch Implementierungen von Random Forest und Gradient Boosting. Die Links finden Sie in diesem Beitrag.

Adam Erickson
quelle
0

Der Hauptunterschied besteht darin, dass der Tensorfluss auf numerischen Methoden basiert (dh Gradientenabfahrten). Bei baumbasierten Methoden gibt es keinen Gradienten. Die Ausnahme ist der Gradientenregressionsbaum.

SZ
quelle