0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pipelineの使い方

Posted at

はじめに

今回はPipeLineモジュールについてのメモ。
機械学習モデルのスケーリングについて勉強していた時に出てきて、気になったので調べてみた。

PipeLineモジュールとは

estimator(学習)とtransformer(予測)を組み合わせて、機械学習パイプラインを作成するAPIである。主に機械学習モデル構築で用いる。

PipeLineモジュールを用いる利点

例えば、非決定義系モデルを扱う際にスケーリング(正規化や標準化)などの処理を行うことで精度を向上させる手法がある。
そのような際に、スケーリングと機械学習モデルの定義をいちいち別で書くと煩雑なコードになってしまうことが多い。
そこでPipeLineモジュールを用いることでスケーリング部分とモデル定義部分を一つの塊として定義することができる。
さらに、一般的なsklearn上にある機械学習モデルと同じようfitなども行えるため、煩雑になることなく使用することができる。

実際の使用方法

今回は例として、ロジスティック回帰と標準化を組み合わせた例を用いる。

.py
Pipeline([('ss', StandardScaler()), ('model', LogisticRegression(C=0.01, random_state=42))])

引数のとしては、主にListを用いて定義する。
transformer・estimatorの並びの通り、estimatorが一番最後になることに注意する。
それぞれの定義の仕方は、(定義名, モデルの関数)とする。

ここで、複数のtransformerを定義することも可能である。

(公式Document : https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?