Привет всем! Сегодня мы кратко поговорим о наиболее распространенных сомнениях в области регрессии в машинном обучении.

Разница между функциями fit() и transform():

Итак, это самое распространенное сомнение, возникающее среди людей. Позвольте мне объяснить вам это с помощью примера.

При предварительной обработке данных в машинном обучении нам иногда нужно масштабировать данные, чтобы получить более точные результаты.

Масштабирование можно выполнить двумя способами: стандартизацией и нормализацией (ниже приведены формулы для них).

Теперь при подгонке данных в соответствии с любым из этих методов, то есть либо стандартизацией, либо нормализацией (ниже приведены шаги для масштабирования в соответствии со стандартизацией)

В настоящее время наиболее распространенное сомнение, которое возникает у людей, заключается в том, почему мы применили метод fit_transform к X_train и просто метод fit к X_тест. Это хорошее сомнение, и оно должно возникнуть у вас в уме, если вы хорошо учитесь.

Теперь перейдем к ответу на ваши вопросы

1. Метод fit(). В основном метод fit() вычисляет значения среднего значения и стандартного отклонения, которые нам нужны для расчета xstand, как указано в приведенной выше формуле (ОТМЕТИТЕ МОИ СЛОВА !!!! ) — Он только вычисляет значение каждой из функций и обучает масштабатор sc1 для этих значений.

2. Метод transform () — Итак, теперь перейдем к методу преобразования. В основном он применяет формулу стандартизации ко всем этим значениям, преобразует матрицу функции X_train, имеющей эти стандартизированные значения.

Таким образом, вкратце метод подгонки вычисляет значения, а метод преобразования применяет эти значения, чтобы получить все значения в одном масштабе.

ТЕПЕРЬ СЛЕДУЮЩЕЕ СОМНЕНИЕ В ВАШЕЙ ГОЛОВЕ ЕСТЬ!!!!!!

Тогда почему мы применили метод fit_transform в X_Train (тренировочный набор) и только метод подгонки в (X_test). Ответ на ваш вопрос будет заключаться в том, что мы хотим обучить sc1 на тренировочном наборе, который мы применили к X_train , но нам не нужен метод подгонки в X_test, потому что мы хотим использовать один и тот же скаляр sc1 для масштабирования функций тестовый набор тоже. Таким образом, нам в основном не нужно снова подгонять скаляр в соответствии со значениями sc1 (я имею в виду, что мы могли бы сделать это, но это определенно не будет иметь никакого смысла, поскольку мы хотим, чтобы результаты были в том же масштабе).

Чтобы копнуть глубже, мы знаем, что X_test будет входом для функции прогнозирования, и поскольку мы обучили модель на X_train, нам также нужен результат в масштабе X_train, поэтому мы просто преобразуем его в том же скаляре…

НАДЕЮСЬ, ЭТО РАЗЪЯСНЯЕТ ВАШИ СОМНЕНИЯ НЕМНОГО СПАСИБО!!! АДИОС