Все уроки

Курс

ИИ в 9 классе: Python и машинное обучение

Используй Python, NumPy и pandas, чтобы обучать и проверять классические модели машинного обучения.

Проходи уроки по порядку. В конце ты сможешь писать на Python со структурами данных и функциями для повторного использования. Ты сможешь складывать векторы, считать вероятность и находить среднее и стандартное отклонение. Ты сможешь загружать, чистить таблицу и строить графики с NumPy и pandas. Ты сможешь подогнать прямую к данным, обучить классификаторы логистической регрессии, дерева решений и k ближайших соседей и группировать данные с помощью k-means. Ты сможешь считать правильность, точность и полноту, замечать переобучение, сравнивать модель с простой базой и показывать предсказания по набору данных об окружающей среде.

Как пользоваться этими уроками

  • Начни с урока, где написано Сделай это. Строку под названием сделай сам, потом иди дальше.
  • Сначала Игры. Потом Проверка. 8 из 10 верно для зачёта. Листы на бумаге. Ответы внизу.
  • Каждый урок опирается на прошлый. Записывай каждый опыт: что изменил, что вышло и почему.
  • Уроки с кодом идут на Python в бесплатном онлайн-блокноте. Бери только те инструменты ИИ, что разрешил учитель. Объясняй код, который написал ИИ. Не клади личные данные в набор, которым делишься.

В каждом уроке есть игры, проверка и листы.

0 из 36

Программирование на Python

  1. 1Повтор синтаксисаПиши на Python с переменными, условиями и циклами.
    • Используй переменные, типы и f-strings.
    • Пиши блоки if, for и while.
    • Прочитай traceback и исправь ошибку.
  2. 2Структуры данныхВыбирай структуру данных: список, кортеж, множество или словарь.
    • Используй каждую структуру данных для её лучшей работы.
    • Пиши генераторы списков и словарей.
    • Вкладывай структуры, чтобы хранить записи.
  3. 3Функции и модулиПиши и тестируй функции для повторного использования.
    • Используй аргументы по умолчанию и именованные аргументы.
    • Пиши тесты с assert.
    • Импортируй свои функции из модуля.
  4. 4Скрипты для данныхНапиши скрипт, который чистит текстовый файл.
    • Читай файл построчно.
    • Исправляй плохие строки и пропускай пустые.
    • Запиши чистые данные в новый файл.

Математика для машинного обучения

  1. 5ВекторыСкладывай векторы и находи расстояние между точками.
    • Представь точку данных как вектор.
    • Складывай векторы и умножай их на число.
    • Считай евклидово расстояние и скалярное произведение.
  2. 6ВероятностьСчитай простую и условную вероятность.
    • Считай вероятность события.
    • Считай условную вероятность по таблице.
    • Смоделируй подбрасывания монеты и проверь ответ.
  3. 7СтатистикаНаходи среднее, дисперсию и стандартное отклонение.
    • Посчитай каждое вручную и в коде.
    • Объясни, что показывает стандартное отклонение.
    • Сравни два набора данных по разбросу.
  4. 8Математические опытыПострой график данных и опиши их разброс.
    • Построй гистограмму.
    • Построй точечный график.
    • Опиши центр, разброс и выбросы.

Наука о данных

  1. 9NumPyСчитай сразу по целым массивам с NumPy.
    • Создавай массивы и меняй их форму.
    • Используй векторизованные операции вместо циклов.
    • Бери элементы и срезы массивов.
  2. 10pandasЗагружай, фильтруй и группируй таблицу с pandas.
    • Загрузи CSV в DataFrame.
    • Фильтруй строки и выбирай столбцы.
    • Группируй данные и подводи итог.
  3. 11Чистка данныхПочисти данные: разберись с пропущенными значениями и неверными типами.
    • Найди пропущенные значения.
    • Заполни или удали их и объясни выбор.
    • Исправь неверные типы и повторяющиеся строки.
  4. 12ВизуализацияСтрой графики, которые отвечают на вопрос.
    • Выбери подходящий график для вопроса.
    • Подпиши оси и добавь заголовок.
    • Найди обманчивый график и исправь его.

Основы машинного обучения

  1. 13Что такое машинное обучениеОбъясни, как модель учится находить закономерность в данных.
    • Сравни запись правил и обучение по данным.
    • Объясни, что такое модель, параметры и обучение.
    • Назови три реальных применения машинного обучения.
  2. 14Обучение с учителем и без учителяОтличай обучение с учителем от обучения без учителя.
    • Скажи, что обучение с учителем использует метки.
    • Скажи, что обучение без учителя находит структуру без меток.
    • Разложи 10 задач по этим двум группам.
  3. 15Шаги машинного обученияПеречисли шаги от данных до рабочей модели.
    • Расставь шаги по порядку: вопрос, данные, признаки, обучение, оценка, запуск.
    • Скажи, что может пойти не так на каждом шаге.
    • Скажи, почему шаги повторяются.
  4. 16Сравни задачи машинного обученияСопоставь задачи с регрессией, классификацией или кластеризацией.
    • Скажи, что предсказывает каждая задача.
    • Сопоставь 10 задач с типом задачи.
    • Перепиши одну задачу как другой тип.

Регрессия

  1. 17Линейная регрессияПодгони прямую к данным.
    • Объясни наклон и сдвиг.
    • Подгони прямую с помощью scikit-learn.
    • Нарисуй прямую поверх данных.
  2. 18ПризнакиВыбирай признаки и приводи их к одному масштабу.
    • Используй больше одного признака.
    • Приведи признаки к одному диапазону.
    • Закодируй категориальный признак.
  3. 19ОшибкаИзмеряй ошибку средней квадратичной ошибкой.
    • Посчитай остатки.
    • Посчитай среднюю квадратичную и среднюю абсолютную ошибку.
    • Построй график остатков и найди закономерность.
  4. 20Предсказывай числаОбучи модель регрессии и предскажи новые значения.
    • Обучи модель на одной части данных.
    • Предскажи остальное.
    • Сообщи ошибку в настоящих единицах.

Классификация

  1. 21Логистическая регрессияОбучи классификатор логистической регрессии.
    • Объясни, как он превращает балл в вероятность.
    • Обучи его и предскажи вероятности.
    • Измени порог и сравни.
  2. 22Деревья решенийОбучи дерево решений и прочитай его разбиения.
    • Обучи дерево.
    • Нарисуй его разбиения и прочитай их.
    • Ограничь глубину и сравни баллы.
  3. 23k ближайших соседейКлассифицируй методом k ближайших соседей и выбери k.
    • Объясни, как голосуют k ближайших соседей.
    • Попробуй несколько значений k.
    • Скажи, почему масштаб важен для k ближайших соседей.
  4. 24Обучи классификаторСравни три классификатора на одном наборе данных.
    • Обучи все три на одном и том же делении.
    • Сравни их баллы.
    • Выбери один и объясни почему.

Обучение без учителя

  1. 25СходствоИзмерь, насколько сходны два образца.
    • Используй евклидово расстояние.
    • Используй косинусное сходство.
    • Найди самые сходные объекты в наборе данных.
  2. 26k-meansГруппируй данные кластеризацией k-means.
    • Пройди k-means вручную по шагам.
    • Запусти его в scikit-learn.
    • Построй график кластеров.
  3. 27Выбор kМетодом локтя выбери число кластеров.
    • Запусти k-means для нескольких значений k.
    • Построй график локтя.
    • Проверь, что кластеры имеют смысл.
  4. 28Группируй образцыКластеризуй набор данных и опиши каждую группу.
    • Кластеризуй настоящий набор данных.
    • Кратко опиши каждый кластер.
    • Дай каждому кластеру имя.

Оценка модели

  1. 29Деление на обучение и тестРаздели данные на обучение и тест и объясни зачем.
    • Раздели данные с помощью train_test_split.
    • Используй валидационный набор, чтобы настроить модель.
    • Используй кросс-валидацию.
  2. 30Правильность, точность и полнотаСчитай правильность, точность и полноту.
    • Составь матрицу ошибок.
    • Посчитай каждую меру по ней.
    • Выбери меру, которая подходит задаче.
  3. 31ПереобучениеЗамечай переобучение, сравнивая баллы обучения и теста.
    • Обучи модель, у которой есть переобучение.
    • Построй график баллов обучения и теста.
    • Уменьши переобучение и сравни.
  4. 32Простая базаСравнивай модель с простой базой.
    • Сделай простую базу, которая всегда выбирает самый частый ответ.
    • Сравни свою модель с ней.
    • Объясни, когда модель не стоит использовать.

Проект по машинному обучению

  1. 33Выбери набор данныхВыбери открытый набор данных об окружающей среде и вопрос.
    • Найди открытый набор данных о погоде или качестве воздуха.
    • Напиши вопрос, на который он может ответить.
    • Выбери регрессию или классификацию.
  2. 34Подготовь и исследуйПочисти данные и построй графики главных закономерностей.
    • Почисти данные.
    • Построй графики трёх закономерностей.
    • Выбери признаки.
  3. 35Обучи и сравниОбучи две модели и сравни их с простой базой.
    • Обучи две модели.
    • Сравни их с простой базой.
    • Проверь, нет ли переобучения.
  4. 36Предсказание условий окружающей средыПокажи результаты, пределы и следующие шаги.
    • Покажи свои результаты и графики.
    • Объясни пределы модели.
    • Предложи следующие шаги.