Ottimizzare contamination
Finalmente, è il momento di ottimizzare il famigerato parametro contamination. Le funzioni evaluate_outlier_classifier ed evaluate_regressor viste nel video sono già caricate per te. Puoi ispezionarle qui sotto.
def evaluate_outlier_classifier(model, data):
# Get labels
labels = model.fit_predict(data)
# Return inliers
return data[labels == 0]
def evaluate_regressor(inliers):
X = inliers.drop("price", axis=1)
y = inliers[['price']]
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)
lr = LinearRegression()
lr.fit(X_train, y_train)
preds = lr.predict(X_test)
rmse = root_mean_squared_error(y_test, preds)
return round(rmse, 3)
Userai un campione del dataset US Airbnb Listings, già caricato come airbnb_df.
Questo esercizio fa parte del corso
Rilevamento delle anomalie in Python
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create a list of contaminations and an empty dictionary
contaminations = ____
scores = ____