Bereitstellen von Längen- und Breitengrad für ein Hauspreismodell
Ich bin neu beim maschinellen Lernen und versuche, ein Gefühl dafür zu bekommen, wie Sie Daten für ein Modell optimieren. Ich folge diesem offiziellen Kaggle-Tutorial , das die Grundlagen des maschinellen Lernens durch Hauspreisvorhersage vermittelt. Sie verwenden einen Entscheidungsbaum, aber ich fand es seltsam, welche Merkmale sie in das Modell einspeisen, um den Preis eines Hauses vorherzusagen:
house_price_features = ['Rooms', 'Bathroom', 'Landsize', 'Latitude', 'Longitude']
Zimmer, Badezimmer und Grundstücksgröße machen für mich Sinn - aber Längen- und Breitengrad? Offensichtlich gibt es eine Korrelation zwischen Lage und Preis, aber es wird keiner schönen Kurve folgen. Manchmal werden die Immobilienpreise zweifach steigen, wenn man einen Block nach oben geht; manchmal hat es überhaupt keine Wirkung. Intuitiv habe ich das Gefühl, dass alles, was ein Modell mit diesen Funktionen tun kann, um den Preis vorherzusagen, überangepasst ist. Meine Frage ist also zweigeteilt:
- Hatten sie Recht damit, diesem Modell Längen- und Breitengrad für die Preisvorhersage zu geben, oder handelt es sich dabei um irrelevante Informationen, die dem Modell nur schaden können? Wieso den?
- Wenn die Antwort auf die obige Frage "nein" lautet, gibt es eine Transformation der Breiten- und Längendaten (dh in Nachbarschafts-IDs), die die Daten hilfreicher machen würde?
Antworten
Die Antwort ist ja , denn die Lage ist normalerweise der Hauptgrund für die Hauspreise pro Quadratfuß. Ein Herunterfallen würde die Modellleistung wahrscheinlich dramatisch verschlechtern.
Basierend auf Breitengrad/Längengrad teilen baumbasierte Methoden die Karte in rechteckige Teile. Je stärker der Effekt und je mehr Daten in einem bestimmten Bereich, desto kleiner die Stücke. In weniger dichten Regionen wären die Stücke nicht zu klein.
Sie würden sie nicht als lineare Effekte in einer linearen Regression hinzufügen. Da müssten Sie unterschiedliche Herangehensweisen in Betracht ziehen. Eine einfache Möglichkeit wäre, Lat/Lon jeweils durch einen kubischen Spline darzustellen und Wechselwirkungsterme zwischen ihnen hinzuzufügen.