contamination のチューニング
最後に、評判(!?)の contamination パラメータをチューニングしていきます。動画で使った evaluate_outlier_classifier と evaluate_regressor 関数はすでに読み込まれています。以下で中身を確認できます。
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)
ここでは、米国の Airbnb Listings データセットのサンプルを使用します。すでに airbnb_df として読み込まれています。
この演習はコースの一部です
Anomaly Detection in Python
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a list of contaminations and an empty dictionary
contaminations = ____
scores = ____