はじめに
この実験では、scikit-learn を使って推定器とパイプラインを表示するさまざまな方法について学びます。推定器とパイプラインは、scikit-learn パッケージの重要な部分であり、機械学習モデルを構築および評価するために役立ちます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
コンパクトなテキスト表現
推定器を表示する最初の方法は、コンパクトなテキスト表現を通じるものです。推定器は、文字列として表示される場合、デフォルト以外の値に設定されたパラメータのみを表示します。これにより、視覚的なノイズが低減され、インスタンスを比較する際の違いを見つけやすくなります。
from sklearn.linear_model import LogisticRegression
## l1 ペナルティを持つロジスティック回帰のインスタンスを作成する
lr = LogisticRegression(penalty="l1")
## 推定器を表示する
print(lr)
リッチな HTML 表現
推定器を表示する 2 番目の方法は、リッチな HTML 表現を通じるものです。ノートブックでは、推定器とパイプラインはリッチな HTML 表現を使用します。これは、パイプラインやその他の複合推定器の構造を要約し、詳細を提供するためのインタラクティビティ付きで特に便利です。
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.impute import SimpleImputer
from sklearn.compose import make_column_transformer
from sklearn.linear_model import LogisticRegression
## 数値型とカテゴリ型のデータ用のパイプラインを作成する
num_proc = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
cat_proc = make_pipeline(
SimpleImputer(strategy="constant", fill_value="missing"),
OneHotEncoder(handle_unknown="ignore"),
)
## 特定の列に数値型とカテゴリ型のパイプラインを適用する前処理機を作成する
preprocessor = make_column_transformer(
(num_proc, ("feat1", "feat3")), (cat_proc, ("feat0", "feat2"))
)
## 前処理機とロジスティック回帰を適用するパイプラインを作成する
clf = make_pipeline(preprocessor, LogisticRegression())
## パイプラインを表示する
clf
まとめ
この実験では、scikit-learn を使って推定器とパイプラインを表示する 2 つの方法について学びました。コンパクトなテキスト表現とリッチな HTML 表現です。これらの表現は、パイプラインやその他の複合推定器の構造を要約し、異なるインスタンスを比較する際に役立ちます。これらの技術を使うことで、機械学習モデルとその性能に対する理解を深めることができます。