СкладчикПакет курсов "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 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
Раздаточный Материал №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
Резюме по оконным функциям
Резюме курса
Резюме курса
Финальные шаги
Вводная часть курса
Добро пожаловать на курс!
Материалы курса - 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
Метод главных компонент (P