2016-10-31 2 views

答えて

3

バスク語では、DataFrameMapper(およびsklearn-pandasパッケージ全体)は、pandas DataFrameオブジェクトの利点とsklearnマシン学習パッケージの機能を組み合わせることを目指しています。

sklearn.Pipelineは、(numpyパッケージとscipyパッケージによって提供される)マトリックス形式で実行する変換の順序付きリストを記述します。これらの変換は、マトリックス内で順番に実行され、最初から最後までトレーニングと予測プロセス全体をエンコードします。

パイプライン変換(別名ステップ)タプルの最初の部分はその名前であり、プロセスに実際の影響はありません。単純に読みやすくするためです。

一方、DataFrameMapperは、pandasパッケージで作成されたDataFrameオブジェクトで動作し、データフレームの特定の部分(必ずしもデータセット全体ではない)に適用できます。 DataFramesはnumpyやscipyの行列と似ていますが、行と列のラベルとメタデータを追跡するのに顕著な違いがあります。 DataFrames操作は、インデックスの代わりに論理的な識別を使用して、行と列にアクセスし、操作し、読み取ることができるようにします。

DataFrameMapper変換タプルの最初の部分は、変換によってどの列を実行する必要があるかを示します。

二つの大きな違いは次のとおりです。

  1. DataFrameMapperは、より柔軟なツールですsklearn.Pipelineがそれ以上に重視されている間、それは、あなたが別の列に異なる変換を実行してもらおうと、より複雑なデータ構造を変換するには向いています同種のデータセットで機械学習関連の変換を実行する。
  2. DataFrameMapperは、あなたがパンダDataFrameオブジェクトに割り当てた注釈とラベルを保持し、sklearn.Pipelineはnumpy/scipy配列/マトリックスになります。
関連する問題