私はMLPRegressorを使用しています。これは、連続する5つのフィーチャと、40個の値のセットから値を取得する1つのフィーチャを持っています[0,1,2,.., 39]
。MinMaxScaler sklearn:クラスラベルも正規化する必要がありますか?
sklearn.preprocessing.MinMaxScaler(feature_range = (0,1))
を使用して機能を正規化すると、MLPとLSTMの両方でパフォーマンスが向上すると言われました。
したがって、私は上記の機能を含むXtrain
のマトリックスに使用しています。
しかし、カテゴリ変数を最小化する必要があることは私には奇妙に見えます。私はそれを行うべきですか?ドキュメントには、(http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html)MInMaxScalerは各機能を別々に正規化しています。カテゴリの欄を取り除き、他のすべてを正規化する必要がありますか?
また、各機能を別々に正規化すると、inverse_transform
を使用したときにそれらを元に戻す方法をどのように知っていますか? MinMaxスケーラが本当にエンコードされた機能を変更しないであろうと後
カテゴリの場合は、[ワンホットエンコーディング](http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder)を使用してください。 – sascha
カテゴリに分類される機能は、1日30時間ごとです(したがって、私は実際には '48'クラスを持っています)、それらの間に相関関係があります。また、それらの間に順序があります。これはワンホットエンコーディングでは捕捉されません –
あなたが最初に質問したように、@サシャは答えを与えました。そして、 'inverse_transform()'について、MinMaxScalerはmin、max、およびscalingのための "feature(column)"の値を保持します。これは元の値を戻すために使用されます。 –