Анализ данных на Python и базы данных (SQL)

 

Программа профессиональной переподготовки для студентов РАНХиГС

О программе

Программа профессиональной переподготовки «Анализ данных на Python и базы данных (SQL)» даст студентам понимание основ программирования алгоритмов ML (Machine Learning)  с использованием языка Python. А также поможет освоить ряд компетенций в области управления современными реляционными базами данных и приобрести практические навыки использования языковых средств СУБД (Системы управления базами данных).

 

Технологии, которые вы освоите на курсе

Зачем изучать анализ данных?

В бизнесе и государственном управлении необходимо постоянно анализировать огромные объемы данных, чтобы получить информацию для контроля качества работы, выдвижения свежих идей и обоснования принимаемых решений. Эксперты, которые разбираются в массивах данных, могут рассчитывать на быструю карьеру с впечатляющими окладами.

 

Как правило, в объявлениях о вакансиях, связанных с анализом данных, чаще всего упоминаются именно SQL и Python.

Преподаватели программы

Павел Голосов

Руководитель проекта «Цифровые кафедры» в РАНХиГС
 
Кандидат технических наук, декан Факультета информационных технологий и анализа данных Института ЭМИТ РАНХиГС

Макар Басалаев

Преподаватель
 
Закончил бакалавриат и магистратуру на факультете ВМК МГУ им. М.В. Ломоносова. Работал программистом в Лаборатории Касперского и Megaputer Intelligence

Олег Шатохин

Преподаватель

 

Партнер программы – университет «Иннополис»

Университет Иннополис является «сердцем» города высоких технологий Иннополис. Специализируется на образовании, исследованиях и разработках в области информационных технологий и робототехники.

Университет Иннополис формирует вокруг себя среду, которая «наэлектризована прорывными идеями, где сочетается смелая инициатива и безупречный профессионализм».

Преимущества программы

Обучение онлайн

Каждый студент может учиться в любое удобное ему время из любой точки планеты, где есть Интернет. Также будет возможность выстраивать гибкий график и распределять нагрузку в течение года обучения.

 

Доступность материала

Освоить программу может каждый! Обучение не требует какой-то предварительной подготовки. Главное, уделить достаточно времени изучению материала.

 

Обратная связь от куратора

На программе предусмотрены практические задания, которые будет проверять куратор. Кураторы будут давать обратную связь по учебным проектам и отвечать на дополнительные вопросы студентов.

 

Актуальные знания

Программа составлена специально для того, чтобы дать студентам самые востребованные инструменты для анализа данных. Полученные навыки позволят молодым специалистам применять data-driven подход в различных областях бизнеса и быть более востребованными на рынке труда.

 

Ассессмент в университете «Иннополис»

По итогам трех этапов ассессмента каждый слушатель получает индивидуальный профиль digital-компетенций, который может быть использован в портфолио при трудоустройстве или продолжении обучения.

 

Диплом после выпуска

После успешного прохождения программы и сдачи экзамена в форме публичной защиты проекта студентам будет выдан диплом установленного образца о профессиональной переподготовке.

 

Как организовано обучение

Модуль по изучению Python

Как все это работает? Возможности Python

Почему все используют Python? Сравнение с другими языками программирования. Как писать программы? Плюсы Python. Как использовать Python в задачах: обработки текстов, работы с изображениями, написании биржевых роботов, запуска чат-ботов. Ввод и вывод в Python. Имена в Python. Базовые операции. Управление ходов выполнения программы (условные конструкции). Примеры простых программ.

Циклы. Строки. Строковые методы

Цикл с предусловием. Операторы Break и Continue. Цикл For. Устройство строк и длина строки. Элемент строки и как резать строки. Получение подстроки из строки. Обход строки. Срезы.

Кортежи. Списки. Функция map. Генератор списка случайных значений

Зачем нужны кортежи. Работа со списком. Элементы списка. Печать списка. Корректное копирование списков. Особенности использования функции map. Что такое генераторы случайных значений. Множество. Операции с множествами. Frozenset. Словари. Метод get. Обход словаря.

Функции. Применение математических функций. Области видимости и исключения

Как правильно писать функции. Простые алгоритмы. Написание первых функций. Как добавить математику. Рекомендации в написании собственных функций. Как работают области видимости. Глобальные переменные. Возврат нескольких значений из функции. Исключения.

Работа с файлами. Матрицы. Обменная сортировка

Что можно делать с файлами. Открытие и закрытие файлов. Чтение и запись текстовых файлов. Матрицы. Заполнение матриц. Ввод матриц по строкам. Чтение и запись матриц. Пузырьковая сортировка. Разбор алгоритма. Несколько версий решения.

Обзор библиотеки NumPy. Работа с функциями NumPy. Библиотека SciPY

Библиотеки Python, их установка. Основные типы данных NumPy. Численные функции. Работа с массивами. Операции с массивами. Двумерные массивы. Матрицы. Основные возможности библиотеки SciPy. 

Обзор библиотеки Pandas. Базовая аналитика. Pandas продолжение

Установка библиотеки. Создание объекта Series. Индексация DataFrame. Таблицы. Чтение-запись файлов. Индексация. Выборка данных. Операции со строками и столбцами. Работа с NaN. Сортировка.

Визуализации данных. Кредитный скоринг

Изучение новых данных, предобработка, визуализация данных, поиск связей между признаками, подготовка данных для обучения и создание моделей прогнозирования кредитного риска. Получение модели, которая отвечает на вопрос: выдавать или не выдавать кредит.

Промежуточная аттестация по модулю

Промежуточная аттестация проходит в форме зачета (компьютерного тестирования). Образец типового тестового здания:

С помощью какой функции Python можно узнать тип переменной?

  • hwoami
  • type
  • typeof
  • is

Какой диапазон чисел будет создан в следующем коде: range (9, 3, -2)

  • 9 8 7 6 5 4 4
  • 9 7 5 3
  • 9 7 5
  • 11 9 8 7 6 5 4

Что позволяет выполнить фрагмент кода, приведенный в листинге?
Фрагмент кода: print(math.sqrt(2))

  • вывод на экран числа 2 из библиотеки math
  • подключение библиотеки math
  • возведение числа math в квадрат
  • вывод на экран квадратного корня из двух

 

Модуль по изучению SQL

Хранение и целостность данных

Хранение данных: файлы данных, журналов, уровни RAID, Tempdb. Связи в базах данных, один к одному, один ко многим, многие ко многим. Целостность данных: PRIMARY KEY, CHECK, UNIQUE и FOREIGN KEY. Нормализация таблиц.

Создание базы данных и таблиц

Архитектура СУБД: логический (таблицы и тип данных, ключи, индексы, представления, сборки, ограничения, правила, значения по умолчанию) и физический уровни (файлы и файловые группы, страницы). Создание базы данных. Типы данных полей таблиц: Точные числа, символьные строки в Юникоде, приблизительные числа, двоичные данные, дата и время, прочие типы данных, символьные строки. Создание таблиц. Где писать запросы?

Индексы. Диаграммы

Индексы: кластеризованный, некластеризованный, уникальная идентификация, filtered, columnstore, хэш, некластеризованный индекс, оптимизированный для памяти. ER диаграммы: Database Diagrams, Database Node. DML и самые распространенные операторы языка SQL: SELECT, INSERT, UPDATE, DELETE. Значение уникальных факторов.

Запросы. Внешние соединения

Запросы к одной таблице. Выборка без повторов. Запросы к нескольким таблицам. Внешние соединения: LEFT, RIGHT или FULL.

Агрегатные функции. Подзапросы

Подзапросы: WHERE COUNT, SUM, AVG, MAX, MIN, IN, ALL, ANY. Объединение данных: SELECT JOIN. Агрегатные функции: AVG, CHECKSUM_AGG, COUNT, COUNT_BIG, GROUPING, GROUPING_ID, MAX, MIN, STDEV, STDEVP, STRING_AGG, SUM, VAR, VARP. Условия для агрегатных функций.

Полезные функции

Еще немного об операторах. Промышленный запрос. Полезные функции: SQRT, RAND, CONCAT, числовые и строковые функции. Приоритет операций и преобразование типов: CAST, CONVERT.

Транзакции. Представления

Один запрос четырьмя способами. Транзакции: концепция транзакций – атомарность, согласованность, изолированность, долговечность, управление транзакциями – COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION. Параллельный доступ к данным: проблемы грязного, неповторяемого чтения, фантомов. Представления: индексированные, секционированные, системные.

Переменные и циклы

Начало программирования. Переменные: DECLARE, SET, SELECT. Структура кода. Операторы описания данных: CREATE, DROP, ALTER и др. Операторы манипуляции данными: INSERT, DELETE, SELECT, UPDATE и др. Операторы задания прав доступа в базе данных: GRANT / REVOKE, LOCK / UNLOCK, SET LOCK MODE Операторы защиты, восстановления данных и прочие операторы. Циклы: WHILE.

Хранимые процедуры и функции

Временные таблицы. Курсоры Transact-SQL, серверные, клиентские. Типы курсоров: однонаправленный, статический, Keyset, динамический. Хранимые процедуры и функции: CREATE PROCEDURE, CREATE PROC.

Триггеры. Исключения

Конвейерные ХФ. Триггеры: AFTER, INSTEADOF. Исключения: EXCEPT. Динамический SQL с использованием ключевого слова и с использованием хранимой процедуры: EXECUTE IMMEDIATE.

СУБД. NoSQL базы данных

Транзакции в программировании/СУБД/SQL. Как выполняются запросы. Как повысить производительность запросов. NoSQL базы данных и его преимущества.

Промежуточная аттестация по модулю

Промежуточная аттестация проходит в форме зачета (компьютерного тестирования). Образец типового тестового здания: 

К какому типы данных полей относится тип NUMBER?

  • строковые
  • числовые
  • бинарные

Какая команда в SQL выполняет запрос к данным?

  • ALTER
  • SELECT
  • FROM

Что такое транзакция?

  • это группа операций выполняемых СУБД
  • это группа операций, обладающая свойствами ACID
  • это операция выполнения SQL команды

 

Защита проекта и итоговая аттестация

В ходе освоения программы у студентов будет возможность придумать новые цифровые продукты (самостоятельно или в команде). Авторы лучших решений получат поддержку Академии и возможность сотрудничества с Лабораторией искусственного интеллекта и Лабораторией платформенной разработки РАНХиГС.

Что будет в итоговом тесте?

Итоговая аттестация проходит в форме выполнения практической работы при помощи компьютерных технологий (зачет с оценкой). По итогам практической работы слушателю выставляется итоговая оценка.

Вопросы могут относиться как по выполненному практическому заданию, так и по отдельным дисциплинам и входящим в них темам.

Примеры вопросов для подготовки к итоговой аттестации:

  • Что такое область видимости (Scope)?
  • Как обрабатываются исключения?
  • В чём разница между модулем и пакетом?
  • Что подразумевается под множественным наследованием в ООП?
  • Для чего нужен self в классах?
  • Какова разница между поверхностным и глубоким копированием объекта?
  • Что такое представление объекта в NumPy и в чём его отличие от копии?
  • Какие структуры данных нам предоставляет Pandas и в чём их назначение?
  • С помощью какой функции предоставляется интерфейс создания сводной таблицы?

Образец практического задания:
Вариант 1
Необходимо скачать датасеты: titles.csv и cast.csv и далее написать скрипт на языке Python, который позволит ответить на вопросы:

  • Сколько фильмов в таблице?
  • Какие два самых ранних фильма в таблице?
  • У скольких фильмов название Hamlet?
  • Какой список всех фильмов Treasure Island с годами?
  • Сколько фильмов было сделано с 1850 по 1900 года?
  • У скольких ролей в фильме Inception неизвестно значение столбца n?
  • Какие приоритеты актеров фильма North by Northwest по их «главности»? (то есть отсортируйте по значению столбца n — неизвестные значения игнорировать)
  • Сколько ролей было в немой версии Гамлета 1921 года?
  • Какие были вторые роли Брэда Питта по годам?

 

Как поступить на программу

Записаться на курс в СДО

Обратите внимание, что для зачисления на программу потребуются ваши паспортные данные и номер СНИЛС. Проверьте корректность этих данных в личном кабинете студента.

Получить подтверждение

Менеджеры программы увидят вашу регистрацию в СДО и обязательно проверят все данные. Если чего-то будет не хватать для зачисления – с вами свяжутся для уточнений. Следите за своей академической почтой!

Пройти ассессмент в университете «Иннополис»

Входное тестирование необходимо для определения вашего начального уровня. Отсева по итогам тестирования не будет.

Присоединяйтесь к курсу!

Контакты менеджера программы

Почта: dpo-ion@ranepa.ru
Телефон: +7 963 716 64 40
Нравится
Поделиться