Sollte die Merkmalsauswahl nur für Trainingsdaten (oder alle Daten) durchgeführt werden? Ich habe einige Diskussionen und Artikel wie Guyon (2003) und Singhi und Liu (2006) durchgearbeitet, bin mir aber immer noch nicht sicher, ob ich die richtige Antwort finden soll.
Mein Versuchsaufbau ist wie folgt:
- Datensatz: 50 gesunde Kontrollpersonen und 50 Patienten mit Krankheit (ca. 200 Merkmale, die für die Vorhersage von Krankheiten relevant sein können).
- Aufgabe ist es, Krankheiten anhand der verfügbaren Funktionen zu diagnostizieren.
Was ich tue ist
- Nehmen Sie den gesamten Datensatz und führen Sie die Funktionsauswahl (FS) durch. Ich behalte nur ausgewählte Funktionen zur weiteren Verarbeitung
- Aufteilen, um zu testen und zu trainieren, Zugklassifizierer anhand von Zugdaten und ausgewählten Funktionen. Wenden Sie dann den Klassifikator auf die Testdaten an (wiederum unter Verwendung nur ausgewählter Funktionen). Es wird eine einmalige Validierung verwendet.
- Klassifizierungsgenauigkeit erhalten
- Mittelwertbildung: 1) -3) N-mal wiederholen. (100).
Ich würde zustimmen, dass das Durchführen von FS für den gesamten Datensatz zu einer gewissen Verzerrung führen kann, aber meiner Meinung nach wird es während der Mittelwertbildung "gemittelt" (Schritt 4). Ist das korrekt? (Die Genauigkeitsvarianz beträgt )
1 Guyon, I. (2003) "Eine Einführung in die Variablen- und Merkmalsauswahl", The Journal of Machine Learning Research, Vol. 3, S. 1157-1182
2 Singhi, SK und Liu, H. (2006) "Feature Subset Selection Bias for Classification Learning", Fortsetzung von ICML '06 Proceedings der 23. internationalen Konferenz über maschinelles Lernen, S. 849-856