Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ パイプラインとは何か | パイプライン
Pythonによる機械学習入門

パイプラインとは何か

メニューを表示するにはスワイプしてください

前のセクションでは、3つの前処理ステップ(補完、エンコーディング、スケーリング)が完了しました。

PenguinsTableChange

前処理ステップは一つずつ適用され、特定の列を変換し、それらをX配列に統合していました。この方法は、特にOneHotEncoderのように列数が変化する場合、手間がかかります。

さらに、新しいデータで予測を行う際にも同じ変換手順を踏む必要があり、全工程を繰り返す必要があります。

Scikit-learnのPipelineクラスは、すべての変換処理を一つのワークフローにまとめることで、トレーニングデータと新しいデータの両方に一貫した前処理を簡単に適用できるようにします。

PipelineExample

Pipeline は、一連のトランスフォーマーと最終的な推定器(estimator)を格納するコンテナ。.fit_transform() メソッドを Pipeline に対して呼び出すと、各トランスフォーマーの .fit_transform() メソッドが順番にデータへ適用される。

# Create a pipeline with three steps: imputation, one-hot encoding, and scaling
pipeline = Pipeline([
    ('imputer', SimpleImputer(strategy='most_frequent')),  # Step 1: Impute missing values
    ('encoder', OneHotEncoder()),                         # Step 2: Convert categorical data
    ('scaler', StandardScaler())                          # Step 3: Scale the data
])

# Fit and transform the data using the pipeline
X_transformed = pipeline.fit_transform(X)

この効率的な方法により、トレーニングセットに対して一度だけ .fit_transform() を呼び出し、その後は .transform() メソッドで新しいデータを処理できる。

question mark

scikit-learn でデータ前処理やモデル学習に Pipeline を使用する主な利点は何か?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  1

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  1
some-alt