Auswahl der Merkmale
Bei der Arbeit 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 Mehrwert bieten. Danach erfolgt ein erneutes Training nur mit den einflussreichen Merkmalen.
Warum Merkmale aus dem Modell entfernen?
Das Hinzufügen eines Merkmals, das keinen Bezug zum Zielwert hat, führt zu Rauschen und verschlechtert die Vorhersagen. Viele nutzlose Merkmale verstärken das Rauschen und verringern die Modellqualität zusätzlich.
Wie erkennt man, ob Merkmale gut oder schlecht sind?
Um zu beurteilen, ob Merkmale das Ziel signifikant beeinflussen, können die p-Werte für jedes Merkmal berechnet werden. Ein niedriger p-Wert deutet darauf hin, dass das Merkmal statistisch signifikant ist.
1234567891011121314151617import pandas as pd from sklearn.feature_selection import f_regression 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) X, y = df[['Father', 'Mother']], df['Height'] # f_regression returns F-statistic and p-values f_stat, p_values = f_regression(X, y) # Create a DataFrame to view results nicely results = pd.DataFrame({ 'Feature': X.columns, 'p_value': p_values }) print(results)
Kurz gesagt: Je niedriger der p-Wert, desto höher das Vertrauen, dass das Merkmal einen Einfluss hat. Typischerweise gilt ein p-Wert von weniger als 0,05 als statistisch signifikant.
Im obigen Beispiel:
Father: (extrem klein, hoch signifikant)Mother: (sehr klein, hoch signifikant)
Beide Merkmale sind gute Prädiktoren für das Ziel.
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 leicht höhere p-Werte (knapp über 0,05) dem Modell dennoch nützen. Es ist sicherer, das Modell mit und ohne ein solches Merkmal zu testen. Ist der p-Wert jedoch sehr hoch (>0,4), kann dieses Merkmal bedenkenlos entfernt werden.
Der p-Wert liegt zwischen 0 und 1. Wenn von einem niedrigen p-Wert die Rede ist, bedeutet dies weniger als 0,05; ein hoher p-Wert liegt in der Regel über 0,3-0,5.
In unserem Beispiel erhielten wir p-Werte für Mother's height und constant von 0,087 bzw. 0,051. Entfernen wir Merkmale mit einem p-Wert > 0,05, erhalten wir das untenstehende Ergebnis (links).
Schon visuell lässt sich erkennen, dass das Modell mit Konstante (rechts) besser ist, daher sollte diese 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, wirklich einflussreiche Merkmale von zufälligen zu unterscheiden.
Wie entfernt man ungeeignete Merkmale?
Die entsprechende Spalte des Merkmals muss aus X_tilde entfernt werden. Dies kann mit folgendem Code erfolgen:
X_tilde = X_tilde.drop(___, axis=1)
Zum Beispiel, um die Spalten 'const' und 'Mother' zu entfernen, verwenden Sie:
X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)
Erstellen Sie anschließend ein neues OLS-Objekt mit dem aktualisierten X_tilde:
regression_model=sm.OLS(y, X_tilde)
1. Welche der Merkmale sollten BEIBEHALTEN werden?
2. Wählen Sie die FALSCHE Aussage aus.
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
Großartig!
Completion Rate verbessert auf 3.33
Auswahl der Merkmale
Swipe um das Menü anzuzeigen
Bei der Arbeit 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 Mehrwert bieten. Danach erfolgt ein erneutes Training nur mit den einflussreichen Merkmalen.
Warum Merkmale aus dem Modell entfernen?
Das Hinzufügen eines Merkmals, das keinen Bezug zum Zielwert hat, führt zu Rauschen und verschlechtert die Vorhersagen. Viele nutzlose Merkmale verstärken das Rauschen und verringern die Modellqualität zusätzlich.
Wie erkennt man, ob Merkmale gut oder schlecht sind?
Um zu beurteilen, ob Merkmale das Ziel signifikant beeinflussen, können die p-Werte für jedes Merkmal berechnet werden. Ein niedriger p-Wert deutet darauf hin, dass das Merkmal statistisch signifikant ist.
1234567891011121314151617import pandas as pd from sklearn.feature_selection import f_regression 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) X, y = df[['Father', 'Mother']], df['Height'] # f_regression returns F-statistic and p-values f_stat, p_values = f_regression(X, y) # Create a DataFrame to view results nicely results = pd.DataFrame({ 'Feature': X.columns, 'p_value': p_values }) print(results)
Kurz gesagt: Je niedriger der p-Wert, desto höher das Vertrauen, dass das Merkmal einen Einfluss hat. Typischerweise gilt ein p-Wert von weniger als 0,05 als statistisch signifikant.
Im obigen Beispiel:
Father: (extrem klein, hoch signifikant)Mother: (sehr klein, hoch signifikant)
Beide Merkmale sind gute Prädiktoren für das Ziel.
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 leicht höhere p-Werte (knapp über 0,05) dem Modell dennoch nützen. Es ist sicherer, das Modell mit und ohne ein solches Merkmal zu testen. Ist der p-Wert jedoch sehr hoch (>0,4), kann dieses Merkmal bedenkenlos entfernt werden.
Der p-Wert liegt zwischen 0 und 1. Wenn von einem niedrigen p-Wert die Rede ist, bedeutet dies weniger als 0,05; ein hoher p-Wert liegt in der Regel über 0,3-0,5.
In unserem Beispiel erhielten wir p-Werte für Mother's height und constant von 0,087 bzw. 0,051. Entfernen wir Merkmale mit einem p-Wert > 0,05, erhalten wir das untenstehende Ergebnis (links).
Schon visuell lässt sich erkennen, dass das Modell mit Konstante (rechts) besser ist, daher sollte diese 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, wirklich einflussreiche Merkmale von zufälligen zu unterscheiden.
Wie entfernt man ungeeignete Merkmale?
Die entsprechende Spalte des Merkmals muss aus X_tilde entfernt werden. Dies kann mit folgendem Code erfolgen:
X_tilde = X_tilde.drop(___, axis=1)
Zum Beispiel, um die Spalten 'const' und 'Mother' zu entfernen, verwenden Sie:
X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)
Erstellen Sie anschließend ein neues OLS-Objekt mit dem aktualisierten X_tilde:
regression_model=sm.OLS(y, X_tilde)
1. Welche der Merkmale sollten BEIBEHALTEN werden?
2. Wählen Sie die FALSCHE Aussage aus.
Danke für Ihr Feedback!