バスク語では、DataFrameMapper
(およびsklearn-pandasパッケージ全体)は、pandas DataFrame
オブジェクトの利点とsklearnマシン学習パッケージの機能を組み合わせることを目指しています。
sklearn.Pipeline
は、(numpyパッケージとscipyパッケージによって提供される)マトリックス形式で実行する変換の順序付きリストを記述します。これらの変換は、マトリックス内で順番に実行され、最初から最後までトレーニングと予測プロセス全体をエンコードします。
パイプライン変換(別名ステップ)タプルの最初の部分はその名前であり、プロセスに実際の影響はありません。単純に読みやすくするためです。
一方、DataFrameMapper
は、pandasパッケージで作成されたDataFrameオブジェクトで動作し、データフレームの特定の部分(必ずしもデータセット全体ではない)に適用できます。 DataFramesはnumpyやscipyの行列と似ていますが、行と列のラベルとメタデータを追跡するのに顕著な違いがあります。 DataFrames操作は、インデックスの代わりに論理的な識別を使用して、行と列にアクセスし、操作し、読み取ることができるようにします。
DataFrameMapper
変換タプルの最初の部分は、変換によってどの列を実行する必要があるかを示します。
二つの大きな違いは次のとおりです。
DataFrameMapper
は、より柔軟なツールですsklearn.Pipeline
がそれ以上に重視されている間、それは、あなたが別の列に異なる変換を実行してもらおうと、より複雑なデータ構造を変換するには向いています同種のデータセットで機械学習関連の変換を実行する。
DataFrameMapper
は、あなたがパンダDataFrame
オブジェクトに割り当てた注釈とラベルを保持し、sklearn.Pipeline
はnumpy/scipy配列/マトリックスになります。