分類のための中心化とスケーリング
ここでは、スケーリングとモデル構築をパイプラインにまとめて、交差検証を行いましょう。
music_df データセットの特徴量をスケーリングするパイプラインを構築し、ロジスティック回帰モデルを使ってハイパーパラメータ C の値を変えながらグリッドサーチ交差検証を実施します。目的変数は "genre" で、ロックを 1、それ以外のジャンルを 0 とした2値変数です。
StandardScaler、LogisticRegression、GridSearchCV はあらかじめインポート済みです。
この演習はコースの一部です
scikit-learn による教師あり学習
演習の手順
- パイプラインのステップを構築します。
StandardScaler()オブジェクトを"scaler"という名前で、ロジスティック回帰モデルを"logreg"という名前で定義してください。 parametersを作成します。パイプライン内のロジスティック回帰モデルのハイパーパラメータ0.001に対して、1.0からCの範囲で等間隔に並んだ浮動小数点数を20個探索するよう設定してください。- グリッドサーチオブジェクトをインスタンス化してください。
- グリッドサーチオブジェクトを訓練データに適合させてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Build the steps
steps = [("____", ____()),
("____", ____())]
pipeline = Pipeline(steps)
# Create the parameter space
parameters = {"____": np.____(____, ____, 20)}
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=21)
# Instantiate the grid search object
cv = ____(____, param_grid=____)
# Fit to the training data
cv.____(____, ____)
print(cv.best_score_, "\n", cv.best_params_)