2017-09-15 1 views
1

I SelectFromModel in Kombination bin mit mit MultinomialNB für Feature-Auswahl in einer Textklassifikationsaufgabe.Python - SelectFromModel mit Naive-Bayes

SelectFromModel(estimator=MultinomialNB(alpha=1.0)) 

SelectFromModel bestimmt die Bedeutung von Funktionen durch Berechnung:

importances = np.linalg.norm(estimator.coef_, axis=0,ord=norm_order) 

Aber ist das nicht genau das Gegenteil von dem, was ich will, weil Funktionen mit einer hohen Frequenz in niedrigen absoluten Werten führen werden?

Es gibt bereits mehrere gut beantwortete Fragen zum Bestimmen der Wichtigkeit von Features für eine bestimmte Klasse, aber nicht für die allgemeine Wichtigkeit von Features.

Gibt es eine Möglichkeit, die Merkmalsbedeutung mit SelectFromModel in Kombination mit NB zu bestimmen, oder sind andere Ansätze für diese Aufgabe besser geeignet?

+1

Bitte etwas mehr ausarbeiten. Was meinst du mit "mit hoher Frequenz"? Dies ist auch eine Klassifizierungsaufgabe, daher hängt die Wichtigkeit der Merkmale von den Klassen ab. Kannst du im Detail erklären, was du willst? –

+0

Ich meine Features mit hoher Häufigkeit (in einem Dokument), zum Beispiel mit einem CountVectorizer. SelectFromModel bestimmt im Wesentlichen die Wichtigkeit für jedes Merkmal in einer Klassifizierungsaufgabe und wählt die "wichtigsten Merkmale" aus, die feine Klassifizierer wie SVC funktionieren sollten, aber wie ich zu erklären versuchte, scheint es für NB nicht zu funktionieren. – Characeae

Antwort

0

Es gibt eine Funktion, die als Rekursive Eliminierung von Funktionen mit Kreuzvalidierung bekannt ist, auch bekannt als RFECV in sklearn. Es versucht, die Features entsprechend ihrer Wichtigkeit rekursiv zu bewerten und führt eine Kreuzvalidierung durch, um die bestmögliche Anzahl von Features mit dem angegebenen Schätzer zu erhalten. Sie können die example here für weitere Informationen betrachten.

Ich bin mir nicht sicher, warum SelectFromModel nicht mit NaiveBayes funktioniert. Ich werde diese Antwort aktualisieren, wenn ich etwas dazu finde. In der Zwischenzeit können Sie RFECV nach Ihren Bedürfnissen prüfen.

Verwandte Themen