Auswahl Der Merkmale
Bei vielen Aufgaben stehen zahlreiche Merkmale zur Verfügung, deren Nutzen zunächst unklar ist. Glücklicherweise kann ein Modell mit allen Merkmalen trainiert werden, um anschließend zu analysieren, welche davon keinen Einfluss haben. Danach kann das Modell mit nur den relevanten Merkmalen erneut trainiert werden.
Warum Merkmale aus dem Modell entfernen?
Wird dem Modell ein Merkmal hinzugefügt, das keinen Bezug zur Zielgröße hat, entsteht Rauschen, das die Vorhersage verschlechtert. Bei einer großen Anzahl irrelevanter Merkmale summiert sich dieses Rauschen, wodurch die Modellleistung weiter abnimmt.
Wie erkennt man, ob Merkmale gut oder schlecht sind?
Wie bereits bekannt, berechnet die OLS-Klasse während des Trainings auch statistische Kennzahlen. Unter anderem wird ein t-Test durchgeführt, um zu bestimmen, ob jedes Merkmal einen signifikanten Einfluss auf die Zielgröße hat. Die Testergebnisse sind in der summary()
-Tabelle wie unten dargestellt zu finden:
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 muss der Schwellenwert des p-Werts, genannt Signifikanzniveau, festgelegt werden. Dieser liegt üblicherweise bei 0,05. Sobald der p-Wert diesen Schwellenwert überschreitet, wird das Merkmal als nicht einflussreich betrachtet.
In der Praxis verbessern Merkmale mit einem etwas höheren p-Wert als 0,05 häufig ebenfalls das Modell. Daher ist es ratsam, das Modell sowohl mit als auch ohne dieses Merkmal zu testen, anstatt es sofort zu entfernen, es sei denn, der p-Wert ist sehr hoch (>0,4). In diesem Fall 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 diese nicht aus dem Modell entfernt werden.
Es ist üblich, bei kleinen Datensätzen relativ hohe p-Werte (0,05 bis 0,2) für einflussreiche Merkmale zu erhalten. Der p-Wert zeigt die Sicherheit, dass das Merkmal einen Einfluss hat, und es ist natürlich, dass es mit mehr Instanzen leichter wird, einflussreiche Merkmale von schlechten zu unterscheiden.
Angenommen, Sie haben Daten, die zeigen, dass 9/10 der großen Personen, die Sie kennen, täglich Äpfel gegessen haben. Können Sie sicher sein, dass dies zusammenhängt? Aber was wäre, wenn es 9000/10000 wären? Das würde Sie deutlich sicherer machen.
Wie entfernt man ungeeignete Merkmale?
Entfernen Sie einfach die Spalte, die dem Merkmal entspricht, aus X_tilde
. Dies kann mit folgendem Code durchgeführt werden:
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
Awesome!
Completion rate improved to 5.26
Auswahl Der Merkmale
Swipe um das Menü anzuzeigen
Bei vielen Aufgaben stehen zahlreiche Merkmale zur Verfügung, deren Nutzen zunächst unklar ist. Glücklicherweise kann ein Modell mit allen Merkmalen trainiert werden, um anschließend zu analysieren, welche davon keinen Einfluss haben. Danach kann das Modell mit nur den relevanten Merkmalen erneut trainiert werden.
Warum Merkmale aus dem Modell entfernen?
Wird dem Modell ein Merkmal hinzugefügt, das keinen Bezug zur Zielgröße hat, entsteht Rauschen, das die Vorhersage verschlechtert. Bei einer großen Anzahl irrelevanter Merkmale summiert sich dieses Rauschen, wodurch die Modellleistung weiter abnimmt.
Wie erkennt man, ob Merkmale gut oder schlecht sind?
Wie bereits bekannt, berechnet die OLS-Klasse während des Trainings auch statistische Kennzahlen. Unter anderem wird ein t-Test durchgeführt, um zu bestimmen, ob jedes Merkmal einen signifikanten Einfluss auf die Zielgröße hat. Die Testergebnisse sind in der summary()
-Tabelle wie unten dargestellt zu finden:
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 muss der Schwellenwert des p-Werts, genannt Signifikanzniveau, festgelegt werden. Dieser liegt üblicherweise bei 0,05. Sobald der p-Wert diesen Schwellenwert überschreitet, wird das Merkmal als nicht einflussreich betrachtet.
In der Praxis verbessern Merkmale mit einem etwas höheren p-Wert als 0,05 häufig ebenfalls das Modell. Daher ist es ratsam, das Modell sowohl mit als auch ohne dieses Merkmal zu testen, anstatt es sofort zu entfernen, es sei denn, der p-Wert ist sehr hoch (>0,4). In diesem Fall 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 diese nicht aus dem Modell entfernt werden.
Es ist üblich, bei kleinen Datensätzen relativ hohe p-Werte (0,05 bis 0,2) für einflussreiche Merkmale zu erhalten. Der p-Wert zeigt die Sicherheit, dass das Merkmal einen Einfluss hat, und es ist natürlich, dass es mit mehr Instanzen leichter wird, einflussreiche Merkmale von schlechten zu unterscheiden.
Angenommen, Sie haben Daten, die zeigen, dass 9/10 der großen Personen, die Sie kennen, täglich Äpfel gegessen haben. Können Sie sicher sein, dass dies zusammenhängt? Aber was wäre, wenn es 9000/10000 wären? Das würde Sie deutlich sicherer machen.
Wie entfernt man ungeeignete Merkmale?
Entfernen Sie einfach die Spalte, die dem Merkmal entspricht, aus X_tilde
. Dies kann mit folgendem Code durchgeführt werden:
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!