Открыто

Курс Python для анализа данных [2020] [Дмитрий Романов] [Университет Искусственного Интеллекта]

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 19 фев 2020.

Цена: 34900р.-96%
Взнос: 1239р.

Основной список: 31 участников

Резервный список: 20 участников

  1. 19 фев 2020
    #1
    Toxich
    Toxich ЧКЧлен клуба

    Курс Python для анализа данных [2020] [Дмитрий Романов] [Университет Искусственного Интеллекта]

    Интерактивный курс Python для анализа данных - освоение Python с нуля

    1. Базовый синтаксис и основы программирования на языке Python
    2. Установка Python-дистрибутива Anaconda и прочих вспомогательных инструментов, подключение к удаленным серверам для вычислений
    3. Основные концепции научного программирования на Python: от работы с разными типами данных и встроенными структурами до написания собственных модулей
    4. Проведение описательного анализа данных (EDA): от чтения и предобработки до поиска и визуализации взаимосвязей
    5. Высокоуровневые векторные вычисления с использованием библиотек NumPy, SciPy
    6. Манипуляции и анализ данных при помощи структур библиотеки Pandas
    7. Визуализация с библиотеками Matplotlib, Seaborn

    1. Введение в Python, базовые конструкции, циклы

    Содержание занятия:
    • Почему Python?
    • Использование терминала
    • Установка Anaconda на Windows, Linux, macOS
    • Подключение к удаленным серверам, Putty/ssh
    • Запуск JupyterNotebook
    • Правила оформления кода: PEP8, PEP20, PEP257
    • Базовые операции: Python как калькулятор
    • Переменные и типы, преобразование типов
    • Базовые конструкции: условный оператор, конструкция if…else
    • Циклы: for, while

    Задание для отработки:
    • Пользуясь инструкцией из лекции, установить Anaconda, запустить JupyterNotebook через терминал
    • Вывести «Hello World!»
    • Задача на условный оператор
    • Использование циклов
    • Пример: вывести по очереди все буквы в слове «Конкатенация», вывести только согласные, только уникальные символы; посчитать сумму чисел от 1 до 100
    2. Структуры данных

    Содержание занятия:
    • Встроенные структуры:
      • Список (list)
      • Кортеж (tuple)
      • Словарь (dict)
      • Множество (set, frozenset)
    • Стек (stack) и очередь (queue)
    • Функции:
      • Сигнатура
      • Область видимости
      • Аргументы по умолчанию
      • Передача аргументов
      • Lambda-функции
    • Исключения
    • Генераторы

    Задание для отработки:
    • По одной задаче на использование каждой из структур
    • Переписать решение задачи из д.з. 1 с циклом for с использованием lambda-функции
    • Написать функцию, которая вычисляет взвешенное среднее
    • Добавить «защиту от дурака» в функцию из предыдущего задания, использовать исключения
    • Написать генератор, который бьет list на непересекающиеся подмножества константной длины
    3. Модули

    Содержание занятия:
    • Пакеты
    • Классы:
      • Конструирование
      • Атрибуты
      • Методы
      • Приватность
      • Магические методы
      • Наследование
      • Абстрактный класс
      • Множественное наследование

    Задание для отработки:
    • Написать класс с заданными атрибутами и методами, сохранить в файлах .py
    • Подгрузить модуль/модули в новый ноутбук, продемонстрировать правильность работы коды
    4. Научные вычисления с NumPy

    Содержание занятия:
    • Структура np.ndarray:
      • Типы данных
      • Индексация
      • Арифметические операции
      • Преобразование типов
      • Операции с массивами
      • Многомерные массивы
      • Многомерная арифметика
    • Базовые статистические функции:
      • np.sum, np.mean…
      • Семплирование из распределений
    • Матричные операции
    • Линейная алгебра np.linalg

    Задание для отработки:
    • Прочитать заранее подготовленные одномерные данные с помощью соответствующей функции в NumPy
    • Написать несколько простых функций, которые совершают заданные арифметические операции с данными (например, посчитать сумму всех элементов массива, сумму элементов не кратных 10)
    • Сравнить производительность по времени своих функций с функциями, встроенными в библиотеку
    • Подгрузить заранее подготовленный многомерный массив
    • Сделать подвыборку массива, соответствующую некоторым условиям, провести с ней заданные матричные операции
    • Написать функцию для поиска обратной матрицы к заданной, сравнить результат и производительность с встроенной в библиотеку функцией
    5. Научные вычисления с NumPy и SciPy

    Содержание занятия:
    • Отказ от циклов:
      • Векторные операции
      • Тензорные операции
    • Специальные структуры:
      • Разреженные матрицы
      • Матрицы Тоеплица scipy.linalg.toeplitz
      • QR разложение
      • LU разложение
      • SVD разложение

    Задание для отработки:
    • Написать функцию, которая считает сумму квадратов элементов заданного массива
    • Написать функцию, которая делает то же самое без использования циклов
    • Сравнить результат и производительность по времени
    • Задача на альтернативу циклу for c использованием матрицы Тоеплица
    • Имплементировать самостоятельно SVD разложение без использования циклов, сравнить результат со встроенной функцией
    6. Обработка данных с Pandas I

    Содержание занятия:
    • Структуры pd.Series и pd.DataFrame
      • Базовая функциональность
      • Чтение данных из файлов разных типов
      • Подвыборки
      • Индексация, типы индексов
      • Мультииндексация
      • Конкатенация, Join нескольких таблиц
      • Сводные таблицы

    Задание для отработки:
    • Прочитать заранее подготовленные данные с использованием соответствующей функции в библиотеке Pandas
    • Вывести на экран подвыборку датасета, которая соответствует некоторым заданным условиям на значения по столбцам
    • Переименовать заданный столбец
    • Добавить новый столбец для суммы значений в заданных столбцах
    • Прочитать данные из второй заданной таблицы, сделать left join с первой
    • Сделать сводную таблицу с заданными параметрами
    • Сделать подвыборку сводной таблицы по заданным логическим условиям (использование мультииндекса)
    7. Обработка данных с Pandas II

    Содержание занятия:
    • Datetime индекс
    • GroupBy
    • Оконные функции
    • Resampling
    • Встроенные статистические функции
    • Принципы работы с текстовыми данными

    Задание для отработки:
    • Прочитать данные, преобразовать индекс в datetime
    • Посчитать simple moving average по окну заданной длины
    • Преобразовать минутные данные в 10-минутные
    • Преобразовать 10-минутные данные в минутные с использованием backfill метода
    • Задача на groupby: посчитать квантили, среднее, медиану для заданного уровня группировки
    • Задача на текстовые данные
    8. Визуализация данных с Matplotlib

    Содержание занятия:
    • Отображение одномерных и двумерных данных
    • Свойства графика:
      • Название осей
      • Масштаб
      • Масштабирование осей
      • Варианты отрисовки
      • Цветовая гамма
    • Оси: несколько графиков как один объект
      • Общие оси
      • Масштабирование, полярные координаты
    • Отрисовка категориальных данных
    • Диаграммы, гистограммы
    • Контурные графики
    • Heatmap
    • Отрисовка изображений, шкалы
    • Афинные преобразования изображений

    Задание для отработки:
    • Построить график синуса, подписать оси
    • Построить график синусоиды в полярных координатах
    • Подгрузить известный стандартный датасет, например, Ирисы
    • Построить scatter plot нескольких определенных переменных на одном графике, добавить название графика, название осей, лейблы, обозначить цветом метки классов
    • Построить 4 графика переменных из датасета как один объект в логарифмической шкале, подобрать размер шрифта, масштаб, подписать каждый график
    • Построить гистограмму с заданным количеством бинов для определенной переменной из массива выше
    • Посчитать матрицу корреляций и построить heatmap
    • Пользуясь инструкцией, загрузить картинку .jpg и вывести на экран в черно-белых тонах, в цвете
    • Повернуть картинку под заданным углом и вывести изображение
    9. Визуализация данных с Seaborn

    Содержание занятия:
    • Отрисовка статистических взаимосвязей
    • Отрисовка категориальных данных
    • Визуализация распределений
    • Контроль основных параметров графиков

    Задание для отработки:
    • Подгрузить известный стандартный датасет, например, еще раз Ирисы
    • Задать параметры графика: темный фон и разлиновкой (darkgrid), задать цветовую палитру на вкус студентов
    • Построить графики попарных зависимостей переменных с помощью встроенной функции
    • Построить boxplot, violinplot
    • Подгрузить стандартный датасет для задачи регрессии, например, bostonhouses, построить график с отрисовкой линии регрессии (sns.jointplot)
    • Построить гистограммы с отрисовкой распределения, используя встроенную функцию
    • На основе построенных графиков, сделать выводы о зависимостях в датасете
    10. Пайплайн описательного анализа данных с Python

    Содержание занятия:
    • Загрузка, чтение данных
    • Контроль пропущенных значений, варианты заполнения
    • Кодирование разных типов категориальных данных
    • Описательные статистики
    • Визуализация парных взаимосвязей
    • Визуализация распределений переменных
    • Heatmap матрицы подобия

    Задание для отработки:
    • Выбрать известный стандартный датасет или использовать данные, которые вы хотели бы изучить для своих рабочих задач
    • Подгрузите данные, проверьте на наличие Nan/Null
    • Выберите способ заполнения пропусков или выбросите соответствующие строки, выбор обоснуйте
    • Если в датасете есть категориальные переменные, закодируйте их одним из описанных на лекции методов, выбор обоснуйте
    • Посчитайте среднее, медиану, стандартное отклонение и другие статистические показатели для всех числовых переменных
    • Постройте все, на ваш взгляд, релевантные графики из предыдущего домашнего задания, выбор обоснуйте
    • Посчитайте матрицу корреляций, нарисуйте heatmap с использованием библиотеки seaborn
    • Сделайте выводы о найденных взаимосвязях, подробно обоснуйте

    Продажник
     
    Последнее редактирование модератором: 19 фев 2020
    4 пользователям это понравилось.
  2. Последние события

    1. blackfish
      blackfish не участвует.
      5 янв 2024
    2. Guyver
      Guyver участвует.
      25 ноя 2023
    3. x_l_v
      x_l_v не участвует.
      10 ноя 2023
    4. Ant098
      Ant098 участвует.
      26 апр 2023
  3. Обсуждение
  4. 15 май 2020
    #2
    megasvf
    megasvf ДолжникДолжник
    Старт 18 мая, а у нас ещё даже орга нету. С курсом можно попращаться?
     

Поделиться этой страницей