Курс
ИИ в 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Предсказание условий окружающей средыПокажи результаты, пределы и следующие шаги.
- Покажи свои результаты и графики.
- Объясни пределы модели.
- Предложи следующие шаги.