Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Нейронна Мережа з Використанням Scikit-Learn | Нейронна Мережа з Нуля
Вступ до нейронних мереж

bookНейронна Мережа з Використанням Scikit-Learn

Робота з нейронними мережами може бути досить складною, особливо якщо створювати їх з нуля. Замість ручного написання алгоритмів і формул можна використовувати готові інструменти, такі як бібліотека sklearn.

Переваги використання sklearn

  1. Зручність використання: немає необхідності глибоко занурюватися в деталі кожного алгоритму. Можна просто використовувати готові методи та класи;

  2. Оптимізація: бібліотека sklearn оптимізована для продуктивності, що може зменшити час навчання моделі;

  3. Розгорнута документація: sklearn надає розгорнуту документацію з прикладами використання, що значно прискорює процес навчання;

  4. Сумісність: sklearn добре інтегрується з іншими популярними бібліотеками Python, такими як numpy, pandas та matplotlib.

Перцептрон у sklearn

Для створення такої ж моделі, як у цьому розділі, можна використати клас MLPClassifier з бібліотеки sklearn. Основні параметри цього класу:

  • max_iter: визначає максимальну кількість епох для навчання;
  • hidden_layer_sizes: задає кількість нейронів у кожному прихованому шарі у вигляді кортежу;
  • learning_rate_init: встановлює швидкість навчання для оновлення ваг.
Note
Примітка

За замовчуванням MLPClassifier використовує функцію активації ReLU для прихованих шарів. Для бінарної класифікації вихідний шар фактично такий самий, як і той, що ви реалізували.

Наприклад, за допомогою одного рядка коду можна створити перцептрон з двома прихованими шарами по 10 нейронів у кожному, використовуючи не більше ніж 100 епох для навчання та швидкість навчання 0.5:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Примітка

Нейронні мережі в sklearn визначають кількість входів і виходів на основі даних, на яких вони навчаються. Тому немає потреби задавати їх вручну.

Як і у нашій реалізації, навчання моделі полягає лише у виклику методу fit():

model.fit(X_train, y_train)

Щоб отримати прогнозовані мітки (наприклад, на тестовій вибірці), достатньо викликати метод predict():

y_pred = model.predict(X_test)
Завдання

Swipe to start coding

Ваша мета — відтворити, навчити та оцінити модель перцептрона за допомогою бібліотеки scikit-learn, дотримуючись тієї ж структури, що й у попередній власній реалізації.

Дотримуйтесь наступних кроків:

  1. Ініціалізуйте перцептрон за допомогою класу MLPClassifier:
  • Встановіть кількість епох навчання на 100 через max_iter=100;
  • Використайте дві приховані шари, кожен з яких містить 6 нейронів (hidden_layer_sizes=(6, 6));
  • Встановіть швидкість навчання на 0.01 через learning_rate_init=0.01;
  • Додайте random_state=10 для відтворюваності результатів.
  1. Навчіть модель на тренувальному наборі даних за допомогою методу .fit().
  2. Отримайте передбачення для всіх прикладів з тестового набору за допомогою методу .predict().
  3. Оцініть якість шляхом обчислення точності моделі на тестовому наборі за допомогою функції accuracy_score().

Рішення

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

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

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

Секція 2. Розділ 13
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 4

bookНейронна Мережа з Використанням Scikit-Learn

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

Робота з нейронними мережами може бути досить складною, особливо якщо створювати їх з нуля. Замість ручного написання алгоритмів і формул можна використовувати готові інструменти, такі як бібліотека sklearn.

Переваги використання sklearn

  1. Зручність використання: немає необхідності глибоко занурюватися в деталі кожного алгоритму. Можна просто використовувати готові методи та класи;

  2. Оптимізація: бібліотека sklearn оптимізована для продуктивності, що може зменшити час навчання моделі;

  3. Розгорнута документація: sklearn надає розгорнуту документацію з прикладами використання, що значно прискорює процес навчання;

  4. Сумісність: sklearn добре інтегрується з іншими популярними бібліотеками Python, такими як numpy, pandas та matplotlib.

Перцептрон у sklearn

Для створення такої ж моделі, як у цьому розділі, можна використати клас MLPClassifier з бібліотеки sklearn. Основні параметри цього класу:

  • max_iter: визначає максимальну кількість епох для навчання;
  • hidden_layer_sizes: задає кількість нейронів у кожному прихованому шарі у вигляді кортежу;
  • learning_rate_init: встановлює швидкість навчання для оновлення ваг.
Note
Примітка

За замовчуванням MLPClassifier використовує функцію активації ReLU для прихованих шарів. Для бінарної класифікації вихідний шар фактично такий самий, як і той, що ви реалізували.

Наприклад, за допомогою одного рядка коду можна створити перцептрон з двома прихованими шарами по 10 нейронів у кожному, використовуючи не більше ніж 100 епох для навчання та швидкість навчання 0.5:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Примітка

Нейронні мережі в sklearn визначають кількість входів і виходів на основі даних, на яких вони навчаються. Тому немає потреби задавати їх вручну.

Як і у нашій реалізації, навчання моделі полягає лише у виклику методу fit():

model.fit(X_train, y_train)

Щоб отримати прогнозовані мітки (наприклад, на тестовій вибірці), достатньо викликати метод predict():

y_pred = model.predict(X_test)
Завдання

Swipe to start coding

Ваша мета — відтворити, навчити та оцінити модель перцептрона за допомогою бібліотеки scikit-learn, дотримуючись тієї ж структури, що й у попередній власній реалізації.

Дотримуйтесь наступних кроків:

  1. Ініціалізуйте перцептрон за допомогою класу MLPClassifier:
  • Встановіть кількість епох навчання на 100 через max_iter=100;
  • Використайте дві приховані шари, кожен з яких містить 6 нейронів (hidden_layer_sizes=(6, 6));
  • Встановіть швидкість навчання на 0.01 через learning_rate_init=0.01;
  • Додайте random_state=10 для відтворюваності результатів.
  1. Навчіть модель на тренувальному наборі даних за допомогою методу .fit().
  2. Отримайте передбачення для всіх прикладів з тестового набору за допомогою методу .predict().
  3. Оцініть якість шляхом обчислення точності моделі на тестовому наборі за допомогою функції accuracy_score().

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

Секція 2. Розділ 13
single

single

some-alt