Auswahl der Merkmale
Beim Arbeiten mit vielen Merkmalen ist oft unklar, welche relevant sind. Ein Modell kann mit allen Merkmalen trainiert werden, um anschließend zu überprüfen, welche Merkmale keinen Nutzen bringen. Danach erfolgt ein erneutes Training nur mit den einflussreichen Merkmalen.
Warum Merkmale aus dem Modell entfernen?
Das Hinzufügen eines Merkmals, das keinen Bezug zur Zielgröße hat, führt zu Störgeräuschen und verschlechtert die Vorhersagen. Viele nutzlose Merkmale verstärken das Rauschen und verringern die Modellqualität zusätzlich.
Wie lässt sich erkennen, ob Merkmale gut oder schlecht sind?
OLS stellt während des Trainings statistische Tests bereit. Jedes Merkmal erhält ein t-Test-Ergebnis, das in der summary()-Tabelle angezeigt wird und angibt, ob es einen signifikanten Einfluss auf die Zielgröße hat.
123456789import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary
Von Interesse ist der p-Wert für jedes Merkmal.
Kurz gesagt: Je niedriger der p-Wert, desto höher das Vertrauen, dass das Merkmal einen Einfluss hat.
In der Statistik wird ein Signifikanzniveau festgelegt, üblicherweise 0,05. Überschreitet der p-Wert eines Merkmals diesen Schwellenwert, gilt es als nicht einflussreich.
In der Praxis können etwas höhere p-Werte (knapp über 0,05) das Modell dennoch unterstützen. Es ist ratsam, das Modell mit und ohne dieses Merkmal zu testen. Ist der p-Wert jedoch sehr hoch (>0,4), kann das Merkmal bedenkenlos entfernt werden.
Der p-Wert liegt zwischen 0 und 1. Ein niedriger p-Wert bedeutet weniger als 0,05, während ein hoher p-Wert in der Regel größer als 0,3–0,5 ist.
In unserem Beispiel erhielten wir p-Werte für die Körpergröße der Mutter und die Konstante von 0,087 und 0,051. Wenn wir Merkmale mit einem p-Wert > 0,05 entfernen, erhalten wir das untenstehende Ergebnis (links).
Selbst visuell lässt sich erkennen, dass das Modell mit Konstante (rechts) besser ist, daher sollte sie nicht aus dem Modell entfernt werden.
Kleine Datensätze führen häufig zu höheren p-Werten (0,05–0,2), selbst bei relevanten Merkmalen. P-Werte spiegeln das Vertrauen wider: Mit mehr Daten wird es einfacher, tatsächlich einflussreiche Merkmale von zufälligen zu unterscheiden.
Wie entfernt man ungeeignete Merkmale?
Es ist lediglich erforderlich, die entsprechende Spalte des Merkmals aus X_tilde zu entfernen. Dies kann mit folgendem Code durchgeführt werden:
X_tilde = X_tilde.drop(___, axis=1)
Beispielsweise können die Spalten 'const' und 'Mother' wie folgt entfernt werden:
X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)
Anschließend wird ein neues OLS-Objekt mit dem aktualisierten X_tilde erstellt:
regression_model=sm.OLS(y, X_tilde)
1. Welche der Merkmale sollten BEIBEHALTEN werden?
2. Wähle die FALSCHE Aussage.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain what a p-value actually represents in this context?
How do I interpret the summary table from the OLS regression?
What should I do if both features have p-values just above 0.05?
Awesome!
Completion rate improved to 5.26
Auswahl der Merkmale
Swipe um das Menü anzuzeigen
Beim Arbeiten mit vielen Merkmalen ist oft unklar, welche relevant sind. Ein Modell kann mit allen Merkmalen trainiert werden, um anschließend zu überprüfen, welche Merkmale keinen Nutzen bringen. Danach erfolgt ein erneutes Training nur mit den einflussreichen Merkmalen.
Warum Merkmale aus dem Modell entfernen?
Das Hinzufügen eines Merkmals, das keinen Bezug zur Zielgröße hat, führt zu Störgeräuschen und verschlechtert die Vorhersagen. Viele nutzlose Merkmale verstärken das Rauschen und verringern die Modellqualität zusätzlich.
Wie lässt sich erkennen, ob Merkmale gut oder schlecht sind?
OLS stellt während des Trainings statistische Tests bereit. Jedes Merkmal erhält ein t-Test-Ergebnis, das in der summary()-Tabelle angezeigt wird und angibt, ob es einen signifikanten Einfluss auf die Zielgröße hat.
123456789import pandas as pd import statsmodels.api as sm file_link='https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary
Von Interesse ist der p-Wert für jedes Merkmal.
Kurz gesagt: Je niedriger der p-Wert, desto höher das Vertrauen, dass das Merkmal einen Einfluss hat.
In der Statistik wird ein Signifikanzniveau festgelegt, üblicherweise 0,05. Überschreitet der p-Wert eines Merkmals diesen Schwellenwert, gilt es als nicht einflussreich.
In der Praxis können etwas höhere p-Werte (knapp über 0,05) das Modell dennoch unterstützen. Es ist ratsam, das Modell mit und ohne dieses Merkmal zu testen. Ist der p-Wert jedoch sehr hoch (>0,4), kann das Merkmal bedenkenlos entfernt werden.
Der p-Wert liegt zwischen 0 und 1. Ein niedriger p-Wert bedeutet weniger als 0,05, während ein hoher p-Wert in der Regel größer als 0,3–0,5 ist.
In unserem Beispiel erhielten wir p-Werte für die Körpergröße der Mutter und die Konstante von 0,087 und 0,051. Wenn wir Merkmale mit einem p-Wert > 0,05 entfernen, erhalten wir das untenstehende Ergebnis (links).
Selbst visuell lässt sich erkennen, dass das Modell mit Konstante (rechts) besser ist, daher sollte sie nicht aus dem Modell entfernt werden.
Kleine Datensätze führen häufig zu höheren p-Werten (0,05–0,2), selbst bei relevanten Merkmalen. P-Werte spiegeln das Vertrauen wider: Mit mehr Daten wird es einfacher, tatsächlich einflussreiche Merkmale von zufälligen zu unterscheiden.
Wie entfernt man ungeeignete Merkmale?
Es ist lediglich erforderlich, die entsprechende Spalte des Merkmals aus X_tilde zu entfernen. Dies kann mit folgendem Code durchgeführt werden:
X_tilde = X_tilde.drop(___, axis=1)
Beispielsweise können die Spalten 'const' und 'Mother' wie folgt entfernt werden:
X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)
Anschließend wird ein neues OLS-Objekt mit dem aktualisierten X_tilde erstellt:
regression_model=sm.OLS(y, X_tilde)
1. Welche der Merkmale sollten BEIBEHALTEN werden?
2. Wähle die FALSCHE Aussage.
Danke für Ihr Feedback!