Scikit - Learn の推定器とパイプライン

Machine LearningMachine LearningBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、scikit-learnを使って推定器とパイプラインを表示するさまざまな方法について学びます。推定器とパイプラインは、scikit-learnパッケージの重要な部分であり、機械学習モデルを構築および評価するために役立ちます。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebookを使って練習しましょう。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebookの制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/DataPreprocessingandFeatureEngineeringGroup(["Data Preprocessing and Feature Engineering"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/preprocessing("Preprocessing and Normalization") sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/pipeline("Pipeline") sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/impute("Impute") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/compose("Composite Estimators") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-49120{{"Scikit - Learn の推定器とパイプライン"}} sklearn/preprocessing -.-> lab-49120{{"Scikit - Learn の推定器とパイプライン"}} sklearn/pipeline -.-> lab-49120{{"Scikit - Learn の推定器とパイプライン"}} sklearn/impute -.-> lab-49120{{"Scikit - Learn の推定器とパイプライン"}} sklearn/compose -.-> lab-49120{{"Scikit - Learn の推定器とパイプライン"}} ml/sklearn -.-> lab-49120{{"Scikit - Learn の推定器とパイプライン"}} end

コンパクトなテキスト表現

推定器を表示する最初の方法は、コンパクトなテキスト表現を通じるものです。推定器は、文字列として表示される場合、デフォルト以外の値に設定されたパラメータのみを表示します。これにより、視覚的なノイズが低減され、インスタンスを比較する際の違いを見つけやすくなります。

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表現です。これらの表現は、パイプラインやその他の複合推定器の構造を要約し、異なるインスタンスを比較する際に役立ちます。これらの技術を使うことで、機械学習モデルとその性能に対する理解を深めることができます。