Ich habe eine praktische Frage zum Feature Engineering ... Ich möchte die Immobilienpreise mithilfe der logistischen Regression vorhersagen und habe eine Reihe von Funktionen einschließlich der Postleitzahl verwendet. Wenn ich dann die Wichtigkeit der Funktionen überprüfe, stelle ich fest, dass Zip eine ziemlich gute Funktion ist. Deshalb habe ich beschlossen, einige weitere Funktionen basierend auf Zip hinzuzufügen. Ich gehe zum Beispiel zum Volkszählungsbüro und erhalte das Durchschnittseinkommen, die Bevölkerung, die Anzahl der Schulen und die Anzahl von Krankenhäusern jeder Postleitzahl. Mit diesen vier neuen Funktionen finde ich die Modellleistungen jetzt besser. Also füge ich noch mehr Zip-bezogene Funktionen hinzu ... Und dieser Zyklus geht weiter und weiter. Irgendwann wird das Modell von diesen Zip-bezogenen Funktionen dominiert, oder?
Meine Fragen:
- Ist es überhaupt sinnvoll, dies zu tun?
- Wenn ja, woher weiß ich, wann ein guter Zeitpunkt ist, um diesen Zyklus zu stoppen?
- Wenn nicht, warum nicht?
Normalerweise ist es umso besser, je reicher die Funktionen sind.
Beachten Sie jedoch, dass Regressionen im Allgemeinen mit Daten, die stark korreliert sind (Multikollinearität), nicht gut funktionieren. Wenn Sie Ihre Funktionen auf diese Weise erweitern, sollten Sie dies berücksichtigen.
Es gibt viele Informationen zu diesem Thema (und mögliche Möglichkeiten zur Minderung), nur Google-Regression und Multikollinearität.
Zusamenfassend,
quelle
Merkmale sind die Informationen Ihres Modells. Je mehr Informationen vorhanden sind, desto besser können sie ausgeführt und vorhergesagt werden. Je geringer der Wert, desto schwieriger ist es, Werte vorherzusagen. Der kurze Naser ist also ja. Es lohnt sich immer, so viele Funktionen wie möglich zu haben. Dies ist jedoch immer begrenzt, da auch eine Informationsüberflutung Ihren Prozessor verbrennen kann. Achten Sie daher darauf, wie viele Funktionen entwickelt werden. Außerdem tragen unnötige Funktionen nur zum Burnout bei. Daher empfiehlt es sich immer, bestimmte Funktionen zu bereinigen. In der gesamten Datenvorverarbeitungsphase geht es darum.
Die erste Antwort enthält einige gute Details. Was das Stoppen eines Zyklus betrifft, müssen Sie verschiedene Maßnahmen und Faktoren berücksichtigen, um zu überprüfen, wo die Leistung Ihres Modells nicht mehr besser ist, und dies sind Maßnahmen wie der RMSE. Ein einfaches Beispiel ist die Verwendung der
xgboost
Regression für Ihre Daten und die Angabe der Anzahl der Zyklen. Führen Sie das Modell aus, und Sie erhalten den RMSE für jeden Zyklus. Es wird bis zu einem Grenzwert abnehmen, nach dem Sie ableiten können, dass das Modell nach einem bestimmten Zyklus ein Plateau erreicht hat. So funktioniert Modelloptimierung und -optimierung.quelle