Herausforderung: Klassifizierung Nicht Trennbarer Daten
In dieser Herausforderung erhalten Sie den folgenden Datensatz:
1234import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') print(df.head())
Hier ist sein Plot.
12345import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') plt.scatter(df['X1'], df['X2'], c=df['y'])
Der Datensatz ist sicherlich nicht linear trennbar. Schauen wir uns die Leistung der logistischen Regression an:
123456789101112import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_score df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') X = df[['X1', 'X2']] y = df['y'] X = StandardScaler().fit_transform(X) lr = LogisticRegression().fit(X, y) print(cross_val_score(lr, X, y).mean())
Das Ergebnis ist schrecklich. Reguläre logistische Regression ist für diese Aufgabe nicht geeignet. Ihre Aufgabe ist es zu überprüfen, ob PolynomialFeatures
helfen wird. Um den besten C
-Parameter zu finden, verwenden Sie die GridSearchCV
-Klasse.
In dieser Herausforderung wird die Pipeline
verwendet. Sie können es sich als eine Liste von Vorverarbeitungsschritten vorstellen. Die Methode .fit_transform()
wendet .fit_transform()
nacheinander auf jedes Element an.
Swipe to start coding
Erstellen Sie ein logistisches Regressionsmodell mit polynomialen Merkmalen und finden Sie den besten C
-Parameter mit GridSearchCV
- Erstellen Sie eine Pipeline, um eine
X_poly
-Variable zu erstellen, die die polynomialen Merkmale zweiten Grades vonX
enthält und skaliert wird. - Erstellen Sie ein
param_grid
-Dictionary, um demGridSearchCV
mitzuteilen, dass Sie die Werte[0.01, 0.1, 1, 10, 100]
einesC
-Parameters ausprobieren möchten. - Initialisieren und trainieren Sie ein
GridSearchCV
-Objekt.
Lösung
Danke für Ihr Feedback!
single
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 3.57
Herausforderung: Klassifizierung Nicht Trennbarer Daten
Swipe um das Menü anzuzeigen
In dieser Herausforderung erhalten Sie den folgenden Datensatz:
1234import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') print(df.head())
Hier ist sein Plot.
12345import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') plt.scatter(df['X1'], df['X2'], c=df['y'])
Der Datensatz ist sicherlich nicht linear trennbar. Schauen wir uns die Leistung der logistischen Regression an:
123456789101112import pandas as pd from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_score df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') X = df[['X1', 'X2']] y = df['y'] X = StandardScaler().fit_transform(X) lr = LogisticRegression().fit(X, y) print(cross_val_score(lr, X, y).mean())
Das Ergebnis ist schrecklich. Reguläre logistische Regression ist für diese Aufgabe nicht geeignet. Ihre Aufgabe ist es zu überprüfen, ob PolynomialFeatures
helfen wird. Um den besten C
-Parameter zu finden, verwenden Sie die GridSearchCV
-Klasse.
In dieser Herausforderung wird die Pipeline
verwendet. Sie können es sich als eine Liste von Vorverarbeitungsschritten vorstellen. Die Methode .fit_transform()
wendet .fit_transform()
nacheinander auf jedes Element an.
Swipe to start coding
Erstellen Sie ein logistisches Regressionsmodell mit polynomialen Merkmalen und finden Sie den besten C
-Parameter mit GridSearchCV
- Erstellen Sie eine Pipeline, um eine
X_poly
-Variable zu erstellen, die die polynomialen Merkmale zweiten Grades vonX
enthält und skaliert wird. - Erstellen Sie ein
param_grid
-Dictionary, um demGridSearchCV
mitzuteilen, dass Sie die Werte[0.01, 0.1, 1, 10, 100]
einesC
-Parameters ausprobieren möchten. - Initialisieren und trainieren Sie ein
GridSearchCV
-Objekt.
Lösung
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 3.57single