Fit_transform()およびtransform()
Fit_transform Transform
Python Machine Learning and Practiceでコードを入力したとき、データの前処理に関係するfit_transform()関数とtransform()関数の違いは非常にあいまいです。多くの情報を確認しました。
これら2つの関数に関連するコードは次のとおりです。
- # Import StandardScaler from sklearn.preprocessing
- from sklearn.preprocessing import StandardScaler
- # Standardize the data to ensure that the variance of the feature data of each dimension is 1 and the mean is 0, so that the prediction result will not be dominated by the eigenvalues of some dimensions.
- ss = StandardScaler()
- # fit_transform() first fit the data, then standardize
- X_train = ss.fit_transform(X_train)
- # transform()Data standardization
- X_test = ss.transform(X_test)
これら2つの関数のAPIとパラメーターの意味を見てみましょう。
1、fit_transform()関数
つまり、fit_transform()の役割は、最初にデータを適合させてから、それを標準形式に変換することです。
2、変換()関数
つまり、tranform()の役割は、中心を見つけてスケーリングすることによって標準化することです。
ここに着くと、名前の違いと同じように、2つの違いを知っているようです。前者には適合データのステップがありますでは、データを正規化するときにfit_transform()関数を使用してみませんか?
その理由は次のとおりです。
データの正規化(固有値の分散が1で平均が0の場合)の場合、固有データの平均μと分散σ^ 2を計算してから、次の式を使用して正規化する必要があります。
トレーニングセットでfit_transform()を呼び出し、実際にそれを見つけました。平均μそして分散σ^ 2、つまり、変換ルールが見つかりましたこのルールはトレーニングセットで使用します。同様に、テストセット(または相互検証セット)に直接適用できるため、テストセットの処理では、データを再フィッティングせずにデータを正規化するだけで済みます。 。写真を使用して、次のことを示します。
(画像ソース: クリックしてリンクを開きます )。