Ich benutze einen Entscheidungsbaum für Textdaten und ich habe die n häufigsten Begriffe in einer Variablen gespeichert und ich versuche, diese Variable in der Formel für die rpart
Funktion zu verwenden. Allerdings habe ich die Fehlermeldung erhalten, ist die folgende:Rpart in R: Variable in Formel
Error in model.frame.default(formula = class ~ x, data = dtm.df, na.action = function (x): variable lengths differ (found for 'x')
x = findFreqTerms(dtm, 0.5)
fit = rpart(class ~ x, data = dtm.train
Ist es möglich, automatisch in der Formel zu füllen, ohne manuell auf jedes Feature geben?
Aus dem Beispielcode Sie es schaffen, ist offensichtlich die Formel, die das Problem hier ist. Wie in der [R-Dokumentation zur Formelklasse] (https://stat.ethz.ch/R-manual/R-devel/library/stats/html/formula.html) angemerkt wird, "besteht ein solches Modell aus einer Reihe (...) Die Begriffe selbst bestehen aus Variablen- und Faktornamen (...). Ein solcher Begriff wird als die Interaktion aller Variablen und Faktoren interpretiert, die in dem Begriff vorkommen. Zunächst werden hier keine Variablen für die Regression verwendet; Zweitens, da 'x' nicht alle Faktoren der Klasse enthält, die darin erscheinen, wirft es einen Fehler auf. –
Wie sollte rpart dann auf Textdaten verwendet werden? Was nach dem "~" kommt, sollten Worte aus der Dokumenten-Term-Matrix sein, nein? – vdvaxel
Können Sie uns ein Muster der Daten liefern, die Sie klassifizieren möchten? Nach dem '~' brauchst du Variablennamen oder ein '.', wie zB' class ~ Variable1 + Variable2 + Variable3' oder wie 'class ~ .'. –