2012-06-02 14 views
10

Ich habe auf Google nach diesem Problem gesucht und ich kann nichts finden, das diesen Algorithmus in einer einfachen, aber detaillierten Weise erklärt.Warum verwendet der C4.5-Algorithmus das Beschneiden, um den Entscheidungsbaum zu reduzieren, und wie wirkt sich das Beschneiden auf die Vorhersagegenauigkeit aus?

Zum Beispiel weiß ich, dass der ID3-Algorithmus überhaupt keine Beschneidung verwendet. Wenn Sie also ein kontinuierliches Merkmal haben, wird die Vorhersageerfolgsrate sehr niedrig sein.

Also der C4.5 um kontinuierliche Eigenschaften zu unterstützen verwendet es Beschneidung, aber ist dies der einzige Grund?

Auch kann ich in der WEKA-Applikation nicht wirklich verstehen, wie genau der Vertrauensfaktor die Effizienz der Vorhersagen beeinflusst. Je kleiner der Vertrauensfaktor ist, desto mehr wird der Algorithmus beschneiden. Wie groß ist der Zusammenhang zwischen der Beschneidung und der Genauigkeit der Vorhersage? Je mehr Sie beschneiden, desto besser die Vorhersagen oder schlechter?

Dank

Antwort

18

Pruning ist ein Weg, um die Größe des Entscheidungsbaums zu reduzieren. Dies verringert die Genauigkeit der Trainingsdaten, erhöht aber (im Allgemeinen) die Genauigkeit bei ungesehenen Daten. Es wird verwendet, um overfitting abzuschwächen, wo Sie eine perfekte Genauigkeit bei Trainingsdaten erreichen würden, aber das Modell (d. H. Der Entscheidungsbaum), das Sie lernen, ist so spezifisch, dass es nur für Trainingsdaten gilt.

Wenn Sie den Beschneidungsgrad erhöhen, ist die Genauigkeit des Trainingssets im Allgemeinen geringer. WEKA bietet jedoch verschiedene Möglichkeiten, um die Genauigkeit besser zu bewerten, nämlich Training/Test-Split oder Cross-Validation. Wenn Sie beispielsweise eine Kreuzvalidierung verwenden, werden Sie irgendwo einen "Sweet Spot" des Konfundierungsfaktors entdecken, wo er genug Prunes macht, um den gelernten Entscheidungsbaum auf Testdaten ausreichend genau zu machen, aber nicht zu viel Genauigkeit auf den Trainingsdaten. Wo dieser Sweet Spot liegt, hängt jedoch von Ihrem tatsächlichen Problem ab und der einzige Weg, es zuverlässig zu bestimmen, ist es zu versuchen.