onehotencoder zufälliger Wald
Muss ich in einem Random Forest-Kontext Dummies / OnehotEncoder in einem Dataset einrichten, in dem Features / Variablen numerisch sind, sich aber auf eine Kategorie beziehen?
Angenommen, ich habe die folgenden Variablen:
Wo Yist die Variable, die ich vorhersagen möchte? X'ssind Funktionen.
Ich werde mich konzentrieren X1. Seine Zahl bezieht sich jedoch auf eine bestimmte Kategorie (dh 1 bezieht sich auf Mathematik, 2 bezieht sich auf Literatur und 3 bezieht sich auf Geschichte). Muss ich OnehotEncoder (oder Dummy-Ansatz) für einen Random Forest-Algorithmus anwenden?
Ich glaube, ich muss es nicht tun, aber ich bin mir nicht sicher.
Antworten
Theoretisch können Kategorien selbst in Entscheidungsbäumen behandelt werden. Die meisten Python-Implementierungen funktionieren jedoch nur mit Zahlen, sodass Sie sie konvertieren müssen. Es sieht so aus, als hättest du es schon. OneHot Encoding ist eine Möglichkeit, dies zu tun, aber jetzt, wo Sie das getan haben, ist es nicht notwendig. Sie können andere Schemata ausprobieren, um sie in 1 2 3 umzuwandeln, wenn es keinen logischen Grund dafür gibt, wie Sie sie auf diese Weise haben. Dies wird als kategoriale Codierung bezeichnet. Eine beliebte Möglichkeit besteht darin, sie alphabetisch zu ordnen und zu nummerieren. Ein anderer Weg, in der Reihenfolge ihrer Häufigkeit. Am Ende des Tages spielt es keine große Rolle, da die zufällige Gesamtstruktur die Zahl gemäß ihrem Algorithmus ablegt. Es kann jedoch zu geringfügigen Unterschieden kommen. Probieren Sie also verschiedene Methoden aus. Aber nein, Sie müssen Ihre Kategorien nicht mit OneHot codieren, da es sich bereits um Zahlen handelt.