メインコンテンツへジャンプ

機械学習パイプライン

Databricks 無料トライアル

通常、機械学習アルゴリズムを実行する際には、前処理、特徴抽出、モデル適合、検証など一連のステージのタスクが含まれます。例えば、テキスト文書を分類する場合、テキストのセグメンテーションやクリーニング、特徴量の抽出、交差検証での分類モデルのトレーニングなどがあります。各ステージに利用できるライブラリは多数ありますが、特に大規模なデータセットを使用する場合、それぞれのライブラリを全体につなげる作業は容易ではありません。また、ほとんどの機械学習ライブラリは、分散計算用に設計されていないか、パイプラインの作成やチューニングをネイティブにサポートしていません。機械学習パイプライン機械学習パイプラインとは、"spark.ml" パッケージ下にあるMLlibのための高レベルAPIです。パイプラインには、一連のステージがあり、基本的なパイプラインのステージタイプは、トランスフォーマーとエスティメーターの2つです。トランスフォーマーは、データセットを入力として受け取り、出力として拡張データセットを生成します。例えば、トークナイザは、テキストのデータセットをトークン化した単語のデータセットに変換するトランスフォーマーです。エスティメーターは、入力データセットを変換するトランスフォーマーであるモデルを生成するには、最初に入力データセットに適合させる必要があります。例えば、ロジスティック回帰は、ラベルと特徴量でデータセットをトレーニングし、ロジスティック回帰モデルを生成するエスティメーターです。 

FAQ

機械学習パイプラインとは何ですか?
複数の前処理や学習工程を統合し、一貫したMLワークフローを構築する仕組みです。

Sparkのパイプラインの特徴は?
spark.mlパッケージで提供され、トランスフォーマーとエスティメーターを組み合わせて効率的に処理できます。

なぜ大規模データに有効ですか?
分散処理を前提とするため、複雑な工程を自動化しつつ拡張性のあるMLモデル構築を実現できるからです。

関連資料

用語集に戻る