Курс
ШІ у 9 класі: Python і машинне навчання
Користуйся Python, NumPy і pandas, щоб навчати й оцінювати класичні моделі машинного навчання.
Проходь уроки по порядку. Наприкінці ти зможеш писати Python зі структурами даних і функціями для повторного використання. Ти зможеш додавати вектори, рахувати ймовірність і знаходити середнє та стандартне відхилення. Ти зможеш завантажувати, чистити таблицю й будувати графіки за допомогою NumPy і pandas. Ти зможеш підігнати пряму до даних, навчити класифікатори логістичної регресії, дерева рішень і k найближчих сусідів і групувати дані за допомогою k-means. Ти зможеш рахувати точність, влучність і повноту, помічати перенавчання, порівнювати модель із простою базою і показувати передбачення з набору даних про довкілля.
Як користуватися цими уроками
- Почни з уроку, де написано Зроби це. Рядок під назвою зроби сам, тоді йди далі.
- Спершу Ігри. Потім Перевірка. 8 із 10 правильно для заліку. Аркуші на папері. Відповіді внизу.
- Кожен урок спирається на попередній. Записуй кожен дослід: що змінив, що вийшло і чому.
- Уроки з кодом ідуть на Python у безкоштовному онлайн-зошиті. Бери лише ті інструменти ШІ, які дозволив учитель. Пояснюй код, який написав ШІ. Не клади особисті дані в набір, яким ділишся.
У кожному уроці є ігри, перевірка та аркуші.
0 із 36
Програмування на Python
- 1Повторення синтаксисуПиши Python зі змінними, умовами й циклами.
- Використовуй змінні, типи й f-strings.
- Пиши блоки if, for і while.
- Прочитай traceback і виправ помилку.
- 2Структури данихВибирай структуру даних: список, кортеж, множину чи словник.
- Використовуй кожну структуру даних для її найкращої роботи.
- Пиши генератори списків і словників.
- Вкладай структури, щоб зберігати записи.
- 3Функції та модуліПиши й тестуй функції для повторного використання.
- Використовуй аргументи за замовчуванням та іменовані аргументи.
- Пиши тести з assert.
- Імпортуй свої функції з модуля.
- 4Скрипти для данихНапиши скрипт, який чистить текстовий файл.
- Читай файл рядок за рядком.
- Виправляй погані рядки й пропускай порожні.
- Запиши чисті дані в новий файл.
Математика для машинного навчання
- 5ВекториДодавай вектори і знаходь відстань між точками.
- Покажи точку даних як вектор.
- Додавай вектори й множ їх на число.
- Порахуй евклідову відстань і скалярний добуток.
- 6ЙмовірністьРахуй просту й умовну ймовірність.
- Порахуй ймовірність події.
- Порахуй умовну ймовірність за таблицею.
- Змоделюй підкидання монети і звір відповідь.
- 7СтатистикаЗнаходи середнє, дисперсію і стандартне відхилення.
- Порахуй кожне вручну і в коді.
- Поясни, що показує стандартне відхилення.
- Порівняй два набори даних за розкидом.
- 8Математичні дослідиПобудуй графік даних і опиши їхній розкид.
- Побудуй гістограму.
- Побудуй точковий графік.
- Опиши центр, розкид і викиди.
Наука про дані
- 9NumPyРахуй одразу на цілих масивах з NumPy.
- Створюй масиви і змінюй їхню форму.
- Використовуй векторизовані операції замість циклів.
- Бери елементи й зрізи масивів.
- 10pandasЗавантажуй, фільтруй і групуй таблицю з pandas.
- Завантаж CSV у DataFrame.
- Фільтруй рядки і вибирай стовпці.
- Групуй дані й підбивай підсумок.
- 11Чищення данихПочисти дані: розберися з пропущеними значеннями і хибними типами.
- Знайди пропущені значення.
- Заповни або видали їх і поясни вибір.
- Виправ хибні типи й повторювані рядки.
- 12ВізуалізаціяБудуй графіки, які відповідають на питання.
- Вибери відповідний графік для питання.
- Підпиши осі й додай заголовок.
- Знайди оманливий графік і виправ його.
Основи машинного навчання
- 13Що таке машинне навчанняПоясни, як модель вчиться знаходити закономірність у даних.
- Порівняй запис правил і навчання з даних.
- Поясни, що таке модель, параметри й навчання.
- Назви три справжні застосування машинного навчання.
- 14Навчання з учителем і без учителяВідрізняй навчання з учителем від навчання без учителя.
- Скажи, що навчання з учителем використовує мітки.
- Скажи, що навчання без учителя знаходить структуру без міток.
- Розклади 10 завдань у ці дві групи.
- 15Кроки машинного навчанняПерелічи кроки від даних до робочої моделі.
- Розстав кроки по порядку: питання, дані, ознаки, навчання, оцінка, запуск.
- Скажи, що може піти не так на кожному кроці.
- Скажи, чому кроки повторюються.
- 16Порівняй завдання машинного навчанняЗістав завдання з регресією, класифікацією або кластеризацією.
- Скажи, що передбачає кожне завдання.
- Зістав 10 завдань із типом завдання.
- Перепиши одне завдання як інший тип.
Регресія
- 17Лінійна регресіяПіджени пряму до даних.
- Поясни нахил і зсув.
- Піджени пряму за допомогою scikit-learn.
- Накресли пряму поверх даних.
- 18ОзнакиВибирай ознаки і приводь їх до одного масштабу.
- Використовуй більше ніж одну ознаку.
- Приведи ознаки до одного діапазону.
- Закодуй категорійну ознаку.
- 19ПохибкаВимірюй похибку середньою квадратичною похибкою.
- Порахуй залишки.
- Порахуй середню квадратичну і середню абсолютну похибку.
- Побудуй графік залишків і знайди закономірність.
- 20Передбачай числаНавчи модель регресії і передбач нові значення.
- Навчи модель на одній частині даних.
- Передбач решту.
- Повідом похибку в справжніх одиницях.
Класифікація
- 21Логістична регресіяНавчи класифікатор логістичної регресії.
- Поясни, як він перетворює бал на ймовірність.
- Навчи його і передбач ймовірності.
- Зміни поріг і порівняй.
- 22Дерева рішеньНавчи дерево рішень і прочитай його розбиття.
- Навчи дерево.
- Накресли його розбиття і прочитай їх.
- Обмеж глибину і порівняй бали.
- 23k найближчих сусідівКласифікуй методом k найближчих сусідів і вибери k.
- Поясни, як голосують k найближчих сусідів.
- Спробуй кілька значень k.
- Скажи, чому масштаб важливий для k найближчих сусідів.
- 24Навчи класифікаторПорівняй три класифікатори на одному наборі даних.
- Навчи всі три на тому самому поділі.
- Порівняй їхні бали.
- Вибери один і поясни чому.
Навчання без учителя
- 25ПодібністьВиміряй, наскільки подібні два зразки.
- Використовуй евклідову відстань.
- Використовуй косинусну подібність.
- Знайди найподібніші об'єкти в наборі даних.
- 26k-meansГрупуй дані кластеризацією k-means.
- Пройди k-means вручну крок за кроком.
- Запусти його в scikit-learn.
- Побудуй графік кластерів.
- 27Вибір kМетодом ліктя вибери число кластерів.
- Запусти k-means для кількох значень k.
- Побудуй графік ліктя.
- Переконайся, що кластери мають сенс.
- 28Групуй зразкиКластеризуй набір даних і опиши кожну групу.
- Кластеризуй справжній набір даних.
- Коротко опиши кожен кластер.
- Дай кожному кластеру ім'я.
Оцінювання моделі
- 29Поділ на навчання і тестПоділи дані на навчання і тест і поясни навіщо.
- Поділи дані за допомогою train_test_split.
- Використовуй валідаційний набір, щоб налаштувати модель.
- Використовуй крос-валідацію.
- 30Точність, влучність і повнотаРахуй точність, влучність і повноту.
- Склади матрицю плутанини.
- Порахуй кожну міру за нею.
- Вибери міру, яка пасує до задачі.
- 31ПеренавчанняПомічай перенавчання, порівнюючи бали навчання і тесту.
- Навчи модель, у якої є перенавчання.
- Побудуй графік балів навчання і тесту.
- Зменш перенавчання і порівняй.
- 32Проста базаПорівнюй модель із простою базою.
- Зроби просту базу, яка завжди обирає найчастішу відповідь.
- Порівняй свою модель із нею.
- Поясни, коли модель не варто використовувати.
Проєкт машинного навчання
- 33Вибери набір данихВибери відкритий набір даних про довкілля і питання.
- Знайди відкритий набір даних про погоду або якість повітря.
- Напиши питання, на яке він може відповісти.
- Вибери регресію або класифікацію.
- 34Підготуй і дослідиПочисти дані і побудуй графіки головних закономірностей.
- Почисти дані.
- Побудуй графіки трьох закономірностей.
- Вибери ознаки.
- 35Навчи і порівняйНавчи дві моделі і порівняй їх із простою базою.
- Навчи дві моделі.
- Порівняй їх із простою базою.
- Подивися, чи є перенавчання.
- 36Передбачення умов довкілляПокажи результати, межі й наступні кроки.
- Покажи свої результати й графіки.
- Поясни межі моделі.
- Запропонуй наступні кроки.