Sobes.tech
Middle

Чем отличаются методы fit, fit_transform и transform в scikit-learn?

sobes.tech AI

Answer from AI

In scikit-learn, the methods fit, transform, and fit_transform are used for data preparation and transformation, especially in transformers (e.g., scaling, encoding).

  • fit(X, y=None) — trains the transformer on data X (and optionally y). For example, it calculates parameters such as mean and standard deviation for StandardScaler.

  • transform(X) — applies the transformation to data X using parameters computed during fit. For example, it scales data based on previously calculated parameters.

  • fit_transform(X, y=None) — combines fit and transform: first trains the transformer on X, then immediately transforms X.

Example:

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
scaler.fit(X_train)           # compute parameters on training data
X_train_scaled = scaler.transform(X_train)  # apply scaling

# or shorter
X_train_scaled = scaler.fit_transform(X_train)

Thus, fit is training, transform is applying, and fit_transform is training and applying in one step.