Складчина: Пакет курсов "Data Scientist": Python + SQL + Машинное обучение [Stepik] [Влад Бурмистров]
Этот пакет из 3 курсов содержит более 70 часов качественных видео-лекций!
С домашними заданиями, решениями для домашних заданий. С возможностью скачивать материалы курса. А также поддержкой преподавателя, если у Вас возникнут какие-либо вопросы!
В курсе по Python Вы освоите следующие темы:
- Изучите базовый синтаксис и структуры данных Python 3!
- Научитесь создавать блокноты Jupyter Notebook и файлы .py
- Изучите продвинутые возможности Python, такие как модуль "collections" и работа с timestamp!
- Научитесь использовать Объектно-Ориентированное Программирование!
- Изучите сложные темы, например декораторы и генераторы.
- Получите уверенное понимание основ языка Python!
- В курсе по SQL Вы освоите следующие темы:
Научитесь разрабатывать запросы SELECT к базам данных.
- Поймёте все особенности соединений таблиц — INNER JOIN, LEFT OUTER JOIN и т.д.
- Сможете избегать частых ошибок, которые делают новички
- Будете уверенно использовать SQL для анализа данных
- Освоите продвинутые темы, включая оконные функции.
В курсе по Машинному Обучению Вы освоите следующие темы:
- Построение моделей машинного обучения с учителем (Supervised Learning)
- Применение NumPy для работы с числами в Python
- Использование Seaborn для создания красивых графиков визуализации данных
- Применение Pandas для манипуляции с данными в Python
- Элементы Matplotlib для детальной настройки визуализаций данных в Python
- Конструирование признаков (Feature Engineering) на реалистичных примерах
- Алгоритмы регрессии для предсказания непрерывных переменных
- Навыки подготовки данных к машинному обучению
- Алгоритмы классификации для предсказания категориальных переменных
- Создание портфолио проектов машинного обучения и Data Science
- Работа с Scikit-Learn для применения различных алгоритмов машинного обучения
- Быстрая настройка Anaconda для работ по машинному обучению
- Понимание полного цикла этапов работ по машинному обучению
Спойлер: Полный Курс Python 3: от Новичка до Мастера (Питон, Пайтон) Обзор Курса
- Скачиваем материалы курса
- Обзор Содержания Курса
- Python 2 и Python 3. Пайтон или Питон?
- Часто Задаваемые Вопросы
- Полезные советы об интерфейсе Stepik (опционально)
Установка Python
- Замечание по эмулятору Python в Степик
- Основы Работы в Командной Строке
- Установка Python
- Запуск Кода Python
Объекты и Структуры Данных в Python
- Введение в Типы Данных Python
- Числа (Numbers)
- Числа (Numbers) — Часто Задаваемые Вопросы
- Проверочные Вопросы по Числам (Numbers)
- Присвоение Переменных
- Введение в Строки (Strings)
- Индексирование и Срезы Строк
- Свойства и Методы Строк
- Строки — Часто Задаваемые Вопросы
- Проверочные Вопросы по Строкам
- Форматирование Вывода для Строк
- Форматирование Вывода — Часто Задаваемые Вопросы
- Списки (Lists) в Python
- Списки — Часто Задаваемые Вопросы
- Проверочные Вопросы по Спискам
- Словари (Dictionaries) в Python
- Словари — Часто Задаваемые Вопросы
- Проверочные Вопросы по Словарям
- Кортежи (Tuples) в Python
- Проверочные Вопросы по Кортежам
- Множества (Sets) в Python
- Значения Boolean в Python
- Проверочные Вопросы — Множества и значения Booleans
- Ввод-вывод (I/O) для файлов в Python
- Ресурсы для Дополнительной Практики
- Обзор Теста по Объектам и Структурам Данных Python
- Решения для Теста по Объектам и Структурам Данных Python
Операторы Сравнения в Python
- Операторы Сравнения в Python
- Сцепление Операторов Сравнения с помощью Логических Операторов
- Проверочные Вопросы по Операторам Сравнения
Операторы Python
- Операторы If, Elif и Else в Python
- Циклы For в Python
- Циклы While в Python
- Полезные Операторы в Python
- Генераторы Списков (List Comprehensions) в Python
- Обзор Теста по Операторам Python
- Решения Теста по Операторам Python
- (Опционально) Задание — Игра на угадывание чисел
Методы и Функции
- Методы и Документация Python
- Функции в Python
- *args и **kwargs в Python
- Упражнения по Функциям
- Обзор Упражнений по Функциям
- Решения Упражнений — Уровень Разминка
- Решения Упражнений — Уровень 1
- Решения Упражнений — Уровень 2
- Решения Упражнений — Сложные Задачи
- Lambda-выражения, функции Map и Filter
- Вложенные Операторы и Области Видимости (Scope)
- Функции и Методы — Домашнее Задание
- Полезные Советы для Задания по Функциям и Методам
- Решения для Домашнего Задания по Функциям и Методам
Проект — 1
- Обзор Первого Проекта Python
- Помощь по Проекту
- Обзор Решения для Проекта 1 — Часть 1
- Обзор Решения для Проекта 1 — Часть 2
Объектно-Ориентированное Программирование (ООП)
- ООП: Введение
- ООП: Атрибуты и Ключевое слово Class
- ООП: Классы, Объекты, Атрибуты и Методы
- ООП: Наследование и Полиморфизм
- ООП: Специальные Методы (Magic/Dunder)
- ООП: Домашнее Задание
- ООП: Решение для Домашнего Задания
- ООП: Задача
- ООП: Решение для Задачи
Модули и Пакеты
- Pip Install и PyPi
- Модули и Пакеты
- __name__ и "__main__"
Ошибки и Обработка Исключений (Exceptions)
- Ошибки и Обработка Исключений (Exceptions)
- Домашнее Задание — Ошибки и Обработка Исключений
- Решения для Домашнего Задания — Ошибки и Обработка Исключений
- Обзор Pylint
- Запуск тестов с помощью библиотеки Unittest
Проект — 2
- Обзор Проекта 2
- Решение — классы Card и Deck
- Решение — классы Hand и Chip
- Решение — функции для Game Play
- Решение — Финальный скрипт Gameplay
Декораторы в Python (Decorators)
- Обзор Декораторов в Python
- Декораторы — Домашнее Задание
Генераторы Python (Generators)
- Генераторы в Python
- Обзор Домашнего Задания по Генераторам
- Решения для Домашнего Задания по Генераторам
Финальный Проект
- Финальный Проект
Резюме курса
- Короткий тест
- Финальные шаги
Спойлер: Начальный курс SQL: от Новичка до Специалиста Введение. Обзор языка SQL.
- Обзор языка SQL
- Раздаточный Материал №1 (PDF-файл): Примеры Синтаксиса
- Скачиваем слайды презентаций (опционально)
- Полезные советы об интерфейсе Stepik (опционально)
Установка и настройка таблиц для упражнений
- Обзор раздела
- Шаги по установке
- Установка для Windows
- Установка для Mac
- Решение проблем с установкой
- Обзор pgAdmin
Создание таблиц. Связи между таблицами.
- Создание таблиц. Типы данных.
- Первичный ключ и внешний ключ. Типы связей между таблицами.
Основные запросы SELECT
- Выбор колонок. Выражения.
- Выбор строк. Операторы AND, OR.
- Проверочные Вопросы — Выбор колонок и строк
- Упражнение 1 — фильтрация колонок и строк
- Решения для Упражнения 1
- Операторы IN, NOT IN, BETWEEN
- Вложенные запросы (подзапросы)
- Проверочные Вопросы — Вложенные запросы (подзапросы)
- Упражнение 2 — вложенные запросы
- Решения для Упражнения 2
- Как пишутся комментарии в SQL
Работа со значениями NULL
- Что такое значение NULL. Особенности работы со значениями NULL.
- NULL и Сравнение "не равно"
- Проверочные Вопросы — Значения NULL
- Упражнение 3 — работа со значениями NULL
- Решения для Упражнения 3
- IN и NOT IN при наличии значений NULL
Агрегация — GROUP BY, HAVING, DISTINCT
- Группировка данных GROUP BY
- Мини-задачи по GROUP BY — задания
- Решения мини-задач по GROUP BY
- Фильтрация HAVING
- Агрегация SUM и COUNT
- Другие функции агрегации
- Мини-задачи по функциям агрегации
- Решения мини-задач по функциям агрегации
- Различные значения DISTINCT
- Сортировка данных ORDER BY
- Проверочные Вопросы — Агрегация данных
- Упражнение 4 — агрегация данных
- Решения для Упражнения 4
Соединение таблиц — INNER, OUTER, CROSS, SELF JOIN
- INNER JOIN — Внутреннее Соединение Таблиц
- Проверочные Вопросы — INNER JOIN
- Упражнение 5 — INNER JOIN
- Решения для Упражнения 5
- Соединение Нескольких Таблиц
- Дубликаты Строк, Нехватка Строк
- LEFT OUTER JOIN — Левое Внешнее Соединение
- Различные варианты синтаксиса
- RIGHT OUTER JOIN- Правое Внешнее Соединение
- Упражнение 6 — OUTER JOIN
- Решения для Упражнения 6
- FULL OUTER JOIN — Полное внешнее соединение
- SELF JOIN — Соединение таблицы самой с собой
- Упражнение 7 — SELF JOIN
- Решения для Упражнения 7
- CROSS JOIN — Декартово Произведение Таблиц
Операторы множеств — UNION, EXCEPT (MINUS) и INTERSECT
- UNION — Объединение множеств строк
- EXCEPT (MINUS) — Вычитание множеств строк
- INTERSECT — Пересечение множеств строк
- Проверочные Вопросы — Операторы множеств
- Упражнение 8 — Операторы множеств (union, except, intersect)
- Решения для Упражнения 8
Функции и операторы
- Обзор функций и операторов
- Для числовых типов данных
- LIKE для поиска шаблонов
- Для символьных типов данных
- Для типов данных даты и времени
- Упражнение 9 — Функции и Операторы
- Решения для Упражнения 9
Изменение данных — INSERT, UPDATE, DELETE
- INSERT — Вставка данных
- UPDATE — Обновление данных
- DELETE — Удаление данных
- Упражнение 10 — Изменение данных
- Решения для Упражнения 10
- Поиск расхождений между таблицами
- Устранение расхождений между таблицами
- Восстановление данных после Упражнения 10
Дополнительные темы: CASE, CTE, рекурсия
- CASE: два варианта синтаксиса
- CASE: полезные примеры
- Упражнение 11: CASE
- Решения для Упражнения 11
- Как можно переписать IN / NOT IN на OUTER JOIN + CASE
- CTE — Common Table Expression (WITH …)
- Рекурсивные Запросы
Оконные функции
- Оконные функции — первое знакомство
- Добавляем PARTITION BY
- Упражнение 12: вычисляем проценты
- Решения для упражнения 12
- Кумулятивные суммы
- Особенности ORDER BY для оконных функций — часть 1
- Особенности ORDER BY для оконных функций — часть 2
- Упражнение 13: ABC-анализ
- Решения для упражнения 13
- Скользящие средние, предыдущие строки и последующие строки
- Упражнение 14: солнечные дни
- Решения для упражнения 14
- Нумерация и ранжирование
- Упражнение 15: нумерация и ранжирование
- Решения для упражнения 15
- Резюме по оконным функциям
Резюме курса
- Резюме курса
- Финальные шаги
Спойлер: Машинное Обучение в Python: Большой Курс для Начинающих Вводная часть курса
- Добро пожаловать на курс!
- Материалы курса — ZIP-файлы для скачивания
- Установка Anaconda, Python, Jupyter Notebook
- Прочтите эту статью — Замечание о настройке среды разработки
- Настройка среды разработки
- Часто задаваемые вопросы
- Полезные советы об интерфейсе Stepik (опционально)
Опционально: Экспресс-курс по Python
- Пару слов об экспресс-курсе
- Экспресс-курс по Python — Часть 1
- Экспресс-курс по Python — Часть 2
- Экспресс-курс по Python — Часть 3
- Проверочные упражнения по Python
- Решения для проверочных упражнений по Python
Этапы работ по машинному обучению
- Этапы работ по машинному обучению
NumPy
- Обзор раздела про NumPy
- Массивы NumPy
- Индексация и выбор данных из массивов NumPy
- Операции в NumPy
- Проверочные упражнения по NumPy
- Решения для проверочных упражнений по NumPy
Pandas
- Обзор раздела про Pandas
- Series — Часть 1
- Series — Часть 2
- Датафреймы — Часть 1 — Создание датафреймов
- Датафреймы — Часть 2 — Основные атрибуты
- Датафреймы — Часть 3 — Работа с колонками
- Датафреймы — Часть 4 — Работа со строками
- Выборка данных по условию (Conditional Filtering)
- Полезные методы — Apply для одной колонки
- Полезные методы — Apply для нескольких колонок
- Полезные методы — Статистическая информация и сортировка данных
- Отсутствующие данные (missing data) — Обзор
- Отсутствующие данные (missing data) — Операции в Pandas
- Агрегация данных GROUP BY — Часть 1
- Агрегация данных GROUP BY — Часть 2 — Мульти-индекс
- Объединение датафреймов — Конкатенация
- Объединение датафреймов — Inner Merge
- Объединение датафреймов — Left и Right Merge
- Объединение датафреймов — Outer Merge
- Методы Pandas для текста
- Методы Pandas для даты и времени
- Input/Output в Pandas — CSV-файлы
- Input/Output в Pandas — HTML-таблицы
- Input/Output в Pandas — Excel-файлы
- Input/Output в Pandas — SQL базы данных
- Сводные таблицы в Pandas (pivot tables)
- Проверочные упражнения по Pandas
- Решения для проверочных упражнений по Pandas
Matplotlib
- Обзор раздела про Matplotlib
- Основы Matplotlib
- Объект Figure — принципы работы
- Объект Figure — код в Python
- Объект Figure — код в Python
- Subplots — несколько графиков рядом друг с другом
- Стилизация Matplotlib: легенды
- Стилизация Matplotlib: цвета и стили
- Дополнительные материалы по Matplotlib
- Проверочные упражнения по Matplotlib
- Решения для проверочных упражнений по Matplotlib
Seaborn
- Обзор раздела про Seaborn
- Scatterplots — Графики рассеяния (диаграммы рассеяния)
- Distribution Plots — Часть 1 — Типы графиков
- Distribution Plots — Часть 2 — Код в Python
- Categorical Plots — Статистики по категориям — Типы графиков
- Categorical Plots — Статистики по категориям — Код в Python
- Categorical Plots — Распределения по категориям — Типы графиков
- Categorical Plots — Распределения по категориям — Код в Python
- Графики сравнения — Типы графиков
- Графики сравнения — Код в Python
- Seaborn Grid
- Матричные графики
- Проверочные упражнения по Seaborn
- Решения для проверочных упражнений по Seaborn
Большой Проект по Визуализации Данных
- Обзор Проекта по Визуализации Данных
- Разбор решений проекта — Часть 1
- Разбор решений проекта — Часть 2
- Разбор решений проекта — Часть 3
Обзор Машинного Обучения
- Обзор раздела
- Зачем нужно машинное обучение
- Типы алгоритмов машинного обучения
- Процесс для обучения с учителем (supervised learning)
- (ОПЦИОНАЛЬНО) Дополнительная книга для чтения — ISLR
Линейная Регрессия
- Обзор раздела про линейную регрессию
- Линейная регрессия — История алгоритма
- Наименьшие квадраты
- Функция стоимости (Cost Function)
- Градиентный спуск (Gradient Descent)
- Простая линейная регрессия
- Обзор Scikit-Learn
- Scikit-Learn — Train Test Split
- Scikit-Learn — оценка работы модели
- Графики остатков — Residual Plots
- Внедрение модели и интерпретация коэффициентов
- Полиномиальная регрессия — теория
- Полиномиальная регрессия — создание признаков
- Полиномиальная регрессия — обучение и оценка модели
- Дилемма смещения-дисперсии (Bias-Variance Trade-Off)
- Полиномиальная регрессия — выбираем степень полинома
- Полиномиальная регрессия — внедрение модели
- Регуляризация — обзор
- Масштабирование признаков (feature scaling)
- Кросс-валидация — обзор
- Регуляризация — подготовка данных
- L2 Регуляризация — Ридж-регрессия — теория
- L2 Регуляризация — Ридж-регрессия — код в Python
- L1 Регуляризация — Лассо-регрессия — теория и код в Python
- L1 и L2 Регуляризация — Эластичная сеть Elastic Net
- Обзор данных для проверочного проекта по линейной регрессии
Конструирование признаков (Feature Engineering) и подготовка дан
- Обзор Feature Engineering
- Работа с выбросами (outliers)
- Работа с отсутствующими данными (missing data) — Часть 1
- Работа с отсутствующими данными (missing data) — Часть 2
- Работа с отсутствующими данными (missing data) — Часть 3
- Работа с категориальными переменными
Кросс-валидация и Проверочный проект по линейной регрессии
- Обзор раздела про кросс-валидацию
- Разбиение Train | Test Split
- Разбиение Train | Validation | Test Split
- Кросс-валидация — cross_val_score
- Кросс-валидация — cross_validate
- Поиск по сетке — Grid Search
- Случайный поиск — Random Search
- Обзор проверочного проекта по линейной регрессии
- Решения для проверочного проекта по линейной регрессии
Логистическая регрессия
- Обзор раздела про логистическую регрессию
- Теория логистической регрессии — Часть 1 — Логистическая функция
- Теория логистической регрессии — Часть 2 — От линейной к логист.
- Теория логистической регрессии — Часть 3 — Математика перехода
- Теория логистической регрессии — Часть 4 — Поиск графика
- Логистическая регрессия в Scikit-Learn — Часть 1 — EDA
- Логистическая регрессия в Scikit-Learn — Часть 2 — Модель
- Метрики классификации — Confusion Matrix и Accuracy
- Метрики классификации — Precision, Recall и F1-Score
- Метрики классификации — ROC-кривые
- Логистическая регрессия в Scikit-Learn — Часть 3 — Оценка модели
- Мульти-классовая классификация — Логистическая регрессия — EDA
- Мульти-классовая классификация — Логистическая регрессия -Модель
- Проверочный проект по логистической регрессии
- Решения для проверочного проекта по логистической регрессии
Метод К-ближайших соседей (KNN — K-Nearest Neighbors)
- Обзор раздела про метод К-ближайших соседей
- Теория метода К-ближайших соседей
- KNN: пишем код в Python — Часть 1
- KNN: пишем код в Python — Часть 2
- Проверочные упражнения по KNN
- Решения для проверочных упражнений по KNN
Метод опорных векторов (SVM — Support Vector Machines)
- Обзор раздела про метод опорных векторов
- История метода опорных векторов
- Теория метода опорных векторов — Гиперплоскости и зазоры
- Теория метода опорных векторов — ядра (kernels)
- Теория метода опорных векторов — "kernel trick" и математика
- SVM в Scikit-Learn для задач классификации — Часть 1
- SVM в Scikit-Learn для задач классификации — Часть 2
- SVM в Scikit-Learn для задач регрессии
- Проверочные упражнения по методу опорных векторов
- Решения для проверочных упражнений по методу опорных векторов
Деревья решений — Decision Trees
- Обзор раздела про деревья решений
- Деревья решений — История
- Деревья решений — Терминология
- Деревья решений — метрика "Gini Impurity"
- Построение деревьев решений с помощью Gini Impurity — Часть 1
- Построение деревьев решений с помощью Gini Impurity — Часть 2
- Код в Python для деревьев решений — Часть 1 — Данные
- Код в Python для деревьев решений — Часть 2 — Модель
Случайные леса — Random Forests
- Обзор раздела про случайные леса
- История и мотивация создания случайных лесов
- Гиперпараметры случайного леса — Обзор
- Гиперпараметры случайного леса — Количество деревьев и Признаков
- Гиперпараметры случайного леса — Bootstrapping и oob_score
- Классификация данных с помощью RandomForestClassifier — Часть 1
- Классификация данных с помощью RandomForestClassifier — Часть 2
- Регрессия с помощью RandomForestRegressor — Часть 1 — Данные
- Регрессия с помощью RandomForestRegressor — Часть 2 — Модели 1
- Регрессия с помощью RandomForestRegressor — Часть 3 — Модели 2
- Регрессия с помощью RandomForestRegressor — Часть 4 — Модели 3
Бустинг и Расширяемые деревья — Boosted Trees
- Обзор раздела про бустинг
- История возникновения бустинга
- AdaBoost — Теория — Как работает адаптивный бустинг
- AdaBoost — Код в Python — Данные
- AdaBoost — Код в Python — Модель
- Градиентный бустинг — Теория
- Градиентный бустинг — Пишем код в Python
Проверочный проект по моделям обучения с учителем (Supervised Le
- Обзор проверочного проекта
- Разбор решений — Часть 1 — Исследование данных (EDA)
- Разбор решений — Часть 2 — Анализ оттока (Churn Analysis)
- Разбор решений — Часть 3 — Модели на основе деревьев решений
Natural Language Processing и Наивный Байесовский Классификатор
- Обзор раздела про NLP и Наивный Байесовский алгоритм
- Наивный Байесовский алгоритм — Часть 1 — Теорема Байеса
- Наивный Байесовский алгоритм — Часть 2 — сам алгоритм
- Извлечение признаков из текста — Теория
- Извлечение признаков из текста, "Мешок слов" — пишем код вручную
- Извлечение признаков из текста с помощью Scikit-Learn
- Классификация текста — Часть 1
- Классификация текста — Часть 2
- Проверочные упражнения по классификации текста
- Решения для проверочных упражнений по классификации текста
Машинное обучение без учителя — Unsupervised Learning
- Обзор обучения без учителя — Unsupervised Learning
Кластеризация К-Средних — K-Means Clustering
- Обзор раздела про кластеризацию К-средних
- Принципы кластеризации данных (без привязки к алгоритму)
- Теория кластеризации К-средних
- Кластеризация К-средних — Пишем код — Часть 1
- Кластеризация К-средних — Пишем код — Часть 2
- Выбираем количество кластеров К — Теория
- Выбираем количество кластеров К — Пишем код в Python
- Квантование цветов — Теория
- Квантование цветов — Пишем код в Python
- Проверочные упражнения по кластеризации К-средних
- Решения для проверочных упражнений — Часть 1
- Решения для проверочных упражнений — Часть 2
- Решения для проверочных упражнений — Часть 3
Иерархическая кластеризация данных
- Обзор раздела про иерархическую кластеризацию
- Теория и интуиция иерархической кластеризации
- Иерархическая кластеризация — Пишем код, часть 1 — Данные
- Иерархическая кластеризация — Пишем код, часть 2 — Scikit-Learn
DBSCAN — Кластеризация на основе плотности данных
- Обзор раздела про кластеризацию DBSCAN
- Теория алгоритма DBSCAN
- Сравниваем DBSCAN и K-Means Clustering
- Ключевые гиперпараметры DBSCAN — Теория
- Ключевые гиперпараметры DBSCAN — код в Python
- Проверочные упражнения по DBSCAN
- Решения для проверочных упражнений по DBSCAN
Метод главных компонент (PCA — Principal Component Analysis)
- Обзор раздела про метод главных компонент
- Теория метода главных компонент — Часть 1 — История и интуиция
- Теория метода главных компонент — Часть 2 — Математика
- Реализация метода главных компонент вручную
- Метод главных компонент в Scikit-Learn
- Проверочные упражнения по методу главных компонент
- Решения для проверочных упражнений по методу главных компонент
Резюме курса
- Пройдите короткий тест
- Резюме курса
- Финальные шаги
В программу входят:
- 3 курса
- 428 уроков
- 71 час 32 минуты видео
- 42 теста
Автор: Влад Бурмистров
Цена: 3315 руб.