Welche Methoden / Implementierungen stehen in R / Python zur Verfügung, um unwichtige / wichtige Funktionen in Daten zu verwerfen / auszuwählen? Meine Daten haben keine Etiketten (unbeaufsichtigt).
Die Daten haben ~ 100 Merkmale mit gemischten Typen. Einige sind numerisch, während andere binär sind (0/1).
r
feature-selection
python
Lerner
quelle
quelle
Antworten:
Es ist ein Jahr alt, aber ich halte es immer noch für relevant. Deshalb wollte ich nur meine Python-Implementierung von Principal Feature Analysis (PFA) teilen, wie in dem Artikel vorgeschlagen, auf den Charles in seiner Antwort verwiesen hat.
Sie können es so verwenden:
Dies folgt genau dem beschriebenen Artikel aus dem Artikel. Ich denke, die Methode ist vielversprechend, aber ehrlich gesagt denke ich nicht, dass dies der robusteste Ansatz für die unbeaufsichtigte Auswahl von Funktionen ist. Ich werde ein Update veröffentlichen, wenn ich etwas Besseres finde.
quelle
fit
Funktion überspringt Schritt 1 und führt die PCA im Originaldatensatz durch .Das Sparcl- Paket in R führt ein spärliches hierarchisches und ein spärliches K-Mittel-Clustering durch. Dies kann nützlich sein. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2930825/
quelle
Die Hauptmerkmalsanalyse scheint eine Lösung für die unbeaufsichtigte Merkmalsauswahl zu sein. Es ist in diesem Artikel beschrieben .
quelle
Ich habe einen Link gefunden, der nützlich sein könnte. Dies sind Matlab-Implementierungen. Sie funktionieren möglicherweise für Sie. Http://www.cad.zju.edu.cn/home/dengcai/Data/MCFS.html Es handelt sich um eine Multicluster-Funktionsauswahl Methode, können Sie starke Grundlage darüber in den jüngsten Veröffentlichungen finden Lassen Sie mich wissen, ob es für Sie funktioniert
quelle
Es gibt viele Optionen in
R
. Ein schöner Ort zum Anschauen ist dascaret
Paket, das eine schöne Schnittstelle zu vielen anderen Paketen und Optionen bietet. Sie können auf der Website einen Blick hier . Es gibt viele Möglichkeiten, aber ich werde eine veranschaulichen.Hier ist ein Beispiel für die Verwendung eines einfachen Filters unter Verwendung der in
R
"mtcars" integrierten Datensätze (siehe unten).Nun einige Code-Setups (Laden von Paketen usw.):
Und wir können ein einfaches Modell anpassen, um Variablen auszuwählen:
Wenn wir uns die Ergebnisse ansehen, erhalten wir:
Schließlich können wir die ausgewählten Variablen (in
fit1$optVariables
) gegen das Ergebnis zeichnenmpg
:Ergebnis in dieser Grafik:
quelle
mpg
als Ergebnis verwendet wird. Gibt es eine Möglichkeit, solche Methoden in unbeaufsichtigten Modellen zu verwenden?Das
nsprcomp
R-Paket enthält Methoden für die Analyse spärlicher Hauptkomponenten, die Ihren Anforderungen entsprechen können.Wenn Sie beispielsweise der Meinung sind, dass Ihre Features im Allgemeinen linear korreliert sind und die fünf besten auswählen möchten, können Sie eine PCA mit geringer Dichte mit maximal fünf Features ausführen und sich auf die erste Hauptkomponente beschränken:
Wenn Sie alternativ die orthogonale Natur von Features erfassen möchten, können Sie das Top-Feature aus jedem der fünf Top-PCs auswählen und jeden PC auf ein Feature beschränken:
Ein Ensemble davon könnte auch nützlich sein; Das heißt, Merkmale, die über verschiedene Methoden hinweg konsistent an die Spitze kommen, erklären wahrscheinlich eine große Varianz im Merkmalsraum. Nachdem wir
nsprcomp
ein bisschen herumgespielt haben, scheinen die ersten beiden Methoden ~ 1/2 der gleichen Funktionen nach oben zu bringen. Die Optimierung dieses Prozesses kann jedoch eine empirische Anstrengung sein.quelle