Ich weiß, dass es keine eindeutige Antwort auf diese Frage gibt, aber nehmen wir an, dass ich ein riesiges neuronales Netzwerk mit vielen Daten habe und eine neue Funktion für die Eingabe hinzufügen möchte. Der "beste" Weg wäre, das Netzwerk mit der neuen Funktion zu testen und die Ergebnisse zu sehen. Gibt es jedoch eine Methode, um zu testen, ob die Funktion UNMÖGLICH hilfreich ist? Wie Korrelationsmaße ( http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf ) usw.?
16
Antworten:
Eine sehr starke Korrelation zwischen dem neuen Feature und einem vorhandenen Feature ist ein ziemlich gutes Zeichen dafür, dass das neue Feature wenig neue Informationen liefert. Eine geringe Korrelation zwischen dem neuen Merkmal und vorhandenen Merkmalen ist wahrscheinlich vorzuziehen.
Eine starke lineare Korrelation zwischen dem neuen Merkmal und der vorhergesagten Variablen ist ein gutes Zeichen dafür, dass ein neues Merkmal wertvoll ist. Das Fehlen einer hohen Korrelation ist jedoch kein Zeichen für ein schlechtes Merkmal, da neuronale Netze nicht auf lineare Kombinationen beschränkt sind von Variablen.
Wenn das neue Feature manuell aus einer Kombination vorhandener Features erstellt wurde, sollten Sie es weglassen. Das Schöne an neuronalen Netzen ist, dass nur wenig Feature-Engineering und Vorverarbeitung erforderlich sind - Features werden stattdessen von Zwischenschichten gelernt. Wenn immer möglich, ziehen Sie Lernfunktionen dem Engineering vor.
quelle
Wenn Sie sklearn verwenden, steht eine gute Funktion namens model.feature_importances_ zur Verfügung. Probieren Sie es mit Ihrem Modell / neuen Feature aus und sehen Sie, ob es hilft. Schauen Sie auch hier und hier nach Beispielen.
quelle