Seite 1 von 1

ML - Lineare Regression

Verfasst: Dienstag 22. März 2022, 18:32
von GruenerDeckel
Hallo zusammen,

bin neu hier und beschäftige mich gerade mit dem maschinellen Lernen. Und irgendwie hab ich da ein paar Verständnisprobleme.
Konkret geht's um die lineare Regression anhand folgenden Beispiels:

Man möchte die Hauspreise in den USA vorhersagen. Dafür hat man einen Datensatz, der folgende Features enthält:
['Avg. Area Income', 'Avg. Area House Age', 'Avg. Area Number of Rooms',
'Avg. Area Number of Bedrooms', 'Area Population', 'Price']

Die Daten teilt man (sagen wir mal 50:50) also in Trainings- und Testdaten.
x_train und y_train
x_test und y_test
Wobei in x die Features sind und y die Zielvariable, also die man vorhersagen möchte. Hier also der Preis.

Nun hat man also die eine Hälfe der Daten als Test- und die andere Hälfte als Trainingsdaten vorliegen. Soweit komm ich mit.

Dann trainiert man das Lineare-Regressionsmodell. Und hier fang ich nun zu schwimmen an... Wenn ich das richtig verstanden habe, werden dort also grob gesagt die Modellparameter so angepasst, dass die eingegebenen x_train daten auf die y_train abbilden. (?) Also Features -> Price

Im nächsten Schritt prüft man das Modell mit den x_test daten. Man gibt also die Features ins Modell... Also 'anschaulich' gesagt z.B. eine Zeile [50.000, 4, 9, 3, 30000, 500.000] und schaut dann, ob die Preisvorhersage passt.

Im letzten Schritt füttert man das nun trainierte Modell mit den unbekannten Daten also y_test. Das kapier ich jetzt auch wieder nicht so richtig. Y ist doch die Zielvariable ?

Hab das Gefühl ich bring hier irgendwie alles durcheinander. Könnte mir das jemand evtl. nochmal für Doofe erklären?

Re: ML - Lineare Regression

Verfasst: Mittwoch 23. März 2022, 08:57
von ThomasL
Im nächsten Schritt prüft man das Modell mit den x_test daten. Man gibt also die Features ins Modell... Also 'anschaulich' gesagt z.B. eine Zeile [50.000, 4, 9, 3, 30000, 500.000] und schaut dann, ob die Preisvorhersage passt.

Im letzten Schritt füttert man das nun trainierte Modell mit den unbekannten Daten also y_test. Das kapier ich jetzt auch wieder nicht so richtig. Y ist doch die Zielvariable ?
Diesen Schritt hast du nicht ganz richtig verstanden. Du hast aus einem Schritt zwei gemacht.

Nachdem ein Modell mit(x_train, y_train) trainiert wurde, wird es abschließen mit (x_test, y_test) überprüft.
Dabei werden die Features aus x_test ins Modell als Input gegeben und raus kommt eine Preis-Schätzung des Modells.
In y_test ist ja der korrekte Preis, so das dann anhand der Aufsummierung der absoluten Differenzen (Schätzung - y_test) die Fehlerrate ermittelt werden kann.
Als Formel auf die Schnelle ohne Nachschauen so ala: sum(abs(schätzung-y_test)) / len(y_test)