Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Фінальний Оцінювач | Конвеєри
Quizzes & Challenges
Quizzes
Challenges
/
Вступ до машинного навчання з Python

bookФінальний Оцінювач

Pipeline раніше використовувався для попередньої обробки, але його справжнє призначення — поєднання попередньої обробки з фінальним предиктором. Останній крок у конвеєрі може бути будь-яким оцінювачем (зазвичай моделлю), який генерує передбачення.

Note
Примітка

Під час виклику .fit() кожен трансформер виконує .fit_transform(). Під час виклику .predict() конвеєр використовує .transform() перед передачею даних фінальному оцінювачу. Це необхідно, оскільки нові дані мають бути трансформовані так само, як і тренувальні дані.

Чому .transform()?

Використання .fit_transform() для нових даних може змінити кодування (наприклад, у OneHotEncoder), що призведе до невідповідності стовпців і ненадійних передбачень. .transform() гарантує послідовну попередню обробку, ігноруючи невідомі категорії та зберігаючи той самий порядок стовпців.

Ось як виглядають навчальні дані після one-hot кодування:

Ось нові екземпляри для прогнозування:

Якщо застосувати .fit_transform() до нових екземплярів, OneHotEncoder може згенерувати стовпці в іншому порядку або навіть додати нові. Це призведе до того, що нові дані будуть трансформовані непослідовно з навчальним набором, що зробить прогнози ненадійними.

Однак використання .transform() гарантує, що нові дані кодуються точно так само, як і тренувальні дані, ігноруючи категорії, які не зустрічалися під час навчання:

Додавання фінального оцінювача

Достатньо додати модель як останній крок у конвеєрі:

pipe = make_pipeline(
    ct,
    SimpleImputer(strategy='most_frequent'),
    StandardScaler(),
    KNeighborsClassifier()
)
pipe.fit(X, y)
pipe.predict(X_new)

Це дозволяє виконати весь робочий процес—попередню обробку та прогнозування—одним викликом.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

bookФінальний Оцінювач

Свайпніть щоб показати меню

Pipeline раніше використовувався для попередньої обробки, але його справжнє призначення — поєднання попередньої обробки з фінальним предиктором. Останній крок у конвеєрі може бути будь-яким оцінювачем (зазвичай моделлю), який генерує передбачення.

Note
Примітка

Під час виклику .fit() кожен трансформер виконує .fit_transform(). Під час виклику .predict() конвеєр використовує .transform() перед передачею даних фінальному оцінювачу. Це необхідно, оскільки нові дані мають бути трансформовані так само, як і тренувальні дані.

Чому .transform()?

Використання .fit_transform() для нових даних може змінити кодування (наприклад, у OneHotEncoder), що призведе до невідповідності стовпців і ненадійних передбачень. .transform() гарантує послідовну попередню обробку, ігноруючи невідомі категорії та зберігаючи той самий порядок стовпців.

Ось як виглядають навчальні дані після one-hot кодування:

Ось нові екземпляри для прогнозування:

Якщо застосувати .fit_transform() до нових екземплярів, OneHotEncoder може згенерувати стовпці в іншому порядку або навіть додати нові. Це призведе до того, що нові дані будуть трансформовані непослідовно з навчальним набором, що зробить прогнози ненадійними.

Однак використання .transform() гарантує, що нові дані кодуються точно так само, як і тренувальні дані, ігноруючи категорії, які не зустрічалися під час навчання:

Додавання фінального оцінювача

Достатньо додати модель як останній крок у конвеєрі:

pipe = make_pipeline(
    ct,
    SimpleImputer(strategy='most_frequent'),
    StandardScaler(),
    KNeighborsClassifier()
)
pipe.fit(X, y)
pipe.predict(X_new)

Це дозволяє виконати весь робочий процес—попередню обробку та прогнозування—одним викликом.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5
some-alt