Модуль 1
33,00ч

Разведочный анализ данных

Модуль освещает вопросы, связанные с поиском, структурированием и представлением данных, разведочным анализом, визуализацией. Особое внимание уделяется анализу временных рядов - сглаживанию, построению трендов, прогнозированию. Рассматриваются вопросы, связанные с построением целевых функций. Рассматриваются регулярные выражения. В качестве инструментов разведочного анализа используются электронные таблицы и язык Python. В качестве среды разработки используется Jupyter Notebook. Особое внимание уделяется работе с большими данными (возможностям получения из различных источников, обработки, визуализации). Рассматриваются приемы работы с различными форматами данных, библиотеки NumPy, Pandas и их особенности.
Часов в программе
12,00 часов
лекции
9,00 часов
практика
8,00 часов
самостоятельная
4,00 часа
промежуточная аттестация
33,00 часа
всего
Материально-технические условия реализации программы:
Вид занятий: Просмотр онлайн лекций
Требуемое ПО:
Web-браузер - любой из перечисленных:
Chrome, Safari, Internet Explorer
Для работы с текстовыми материалами Adobe Acrobat Reader DC
Вид занятий: Участие в вебинаре
Требуемое ПО:
Web-браузер - любой из перечисленных:
Chrome, Safari, Internet Explorer
Для работы с текстовыми материалами Adobe Acrobat Reader DC
Вид занятий: Выполнение практических заданий
Требуемое ПО:
Операционная система:
Windows - 64-битная x86, 32-битная x86; MacOS - 64-битная x86; Linux - 64-битная x86, 64-битная Power8 / Power9
online.ifmo.ru - облачный сервис, предоставляющий возможность работы с хранилищами данных
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Вид занятий: Самостоятельная работа
Требуемое ПО:
Операционная система:
Windows - 64-битная x86, 32-битная x86; MacOS - 64-битная x86; Linux - 64-битная x86, 64-битная Power8 / Power9
online.ifmo.ru - облачный сервис, предоставляющий возможность работы с хранилищами данных
https://online.ifmo.ru/pls/apex - Oracle Apex
https://online.ifmo.ru/mongo/ - MongoDb
https://online.ifmo.ru/cassandra/ - Apach Cassandra
https://online.ifmo.ru/pgadmin4/ - PostgreSQL
Альтернативное программное обеспечение доступно по ссылкам:
https://sandbox.neo4j.com - Neo4j
https://www.postgresql.org/download/windows/ - PostgreSQL
https://www.oracle.com/database/technologies/xe-downloads.html - Oracle Express
https://redis.io/download - Redis
https://www.mongodb.com/try/download - MongoDb
https://cassandra.apache.org/download/ - Cassandra
https://neo4j.com/download/ - Neo4j
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
Информационные ресуры
https://colab.research.google.com — облачная среда для работы с кодом Python в браузере.
http://www.numpy.org — библиотека на языке программирования Python, добавляющая поддержку больших многомерных массивов и матриц.
https://pandas.pydata.org — библиотека на языке программирования Python для обработки и анализа данных.
https://matplotlib.org — библиотека на языке программирования Python для построения графиков.
https://docs.yandex.ru/docs?type=xlsx - электронные таблицы Yandex
Образовательные ресуры
https://snakify.org/ru/ - интерактивный учебник Python
https://pep8.ru/doc/tutorial-3.1/ - учебник по языку Python
https://cloud.yandex.ru/docs/datalens/visualization-ref/table-chart - работа с электронными таблицами

Учебно-методические материалы

Методы, формы и технологии

Обучение происходит в смешанном формате. Модуль реализуется с помощью :
- онлайн лекций на платформе https://dc-edu.itmo.ru/,
- установочных лекций через видеоконференции Zoom,
- практических заданий с автоматизированной системой проверки,
- мастер-классов и консультаций через видеоконференции Zoom,
- проверочной работы, выполняемой с системой прокторинга.
После установочной лекции слушатели изучают материалы онлайн курса, выполняют обучающие и проверочные задания. Регулярно устраиваются мастер-классы и консультации по материалам модуля.

Методические разработки

Обучающие материалы модуля представлены в виде видеолекций, текстовых материалов, обучающих инструкций, размещенных на платформе https://dc-edu.itmo.ru/.

Материалы курса

видео-лекции
текстовые материалы лекций
инструкции для выполнения заданий
обучающие задания с автоматизированой системой проверки и подсказками
проверочные задания с автоматизированой системой проверки

Учебная литература

1) Анализ данных : учебник для академического бакалавриата / В. С. Мхитарян [и др.] ; под ред. В. С. Мхитаряна. — М. : Издательство Юрайт, 2018. — 490 с. — (Серия : Бакалавр. Академический курс). — ISBN 978-5-534-00616-2. — Режим доступа : www.biblio-online.ru/book/CC38E97A-CCE5-4470-90F1-3B6D35ACC0B4.
2) Миркин, Б. Г. Введение в анализ данных : учебник и практикум / Б. Г. Миркин. — М. : Издательство Юрайт, 2018. — 174 с. — (Серия : Авторский учебник). — ISBN 978-5-9916-5009-0. — Режим доступа : www.biblio-online.ru/book/46A41F93-BC46-401C-A30E-27C0FB60B9DE.

Темы

Введение в науку о данных. Алгоритмы первичной обработки данных. Инструменты для обработки данных. Визуализация данных. Анализ и преобразование данных. Работа с временными рядами
Лекции
3,00ч
Практические занятия
3,00ч
Самостоятельная работа
2,00ч
Всего
8,00ч
Лекции
3,00ч
Самостоятельная работа
2,00ч
Всего
5,00ч
Лекции
3,00ч
Практические занятия
3,00ч
Самостоятельная работа
2,00ч
Всего
8,00ч
Лекции
3,00ч
Практические занятия
3,00ч
Самостоятельная работа
2,00ч
Всего
8,00ч
Промежуточная аттестация 4,00 часа
В качестве промежуточной аттестации слушатели должны выполнить задания, включающие в себя построение сводных таблиц, визуализацию данных, построение и вычисление целевой функции, разработку небольшого программного кода на Python , определение тренда временного ряда.
Примеры заданий:
1. Постройте линейный тренд для заданного временного ряда. Определите, насколько хорошо линейный тренд аппроксимирует значения временного ряда. Определите коэффициент а линейного тренда, задаваемого уравнением вида y=ax+b.
2. В файле содержатся возможные варианты квартир, которые рассматривал Василий. В первом столбце ID квартиры, во втором — расстояние от метро пешком (в минутах). В третьем столбце количество остановок на метро, которые надо проехать, чтобы добраться до места учебы. И последний столбец - стоимость аренды квартиры в месяц (в тысячах рублей). Помогите Василию выбрать три лучших варианта по совокупности параметров. Для этого надо применить экспоненциальную нормировку, сложить полученные нормированные значения параметров и выбрать лучшие варианты.
3. При помощи Python опишите функцию solve, которая позволяет решать уравнение ax = b. Входными параметрами для функции служат числа a, b, возвращать функция должна значение x. Если уравнение имеет бесконечное множество решений, то функция должна возвращать текстовую строку Any (с большой буквы, без дополнительных символов). Если уравнение решений не имеет, то функция должна возвращать текстовую строку Error (с большой буквы, без дополнительных символов).
4. На вход подается некий список, состоящий из 10 целых чисел от 1 до 100 (список может быть любым). Создайте новый список, в котором первый элемент - последний элемент заданного списка, второй элемент - среднее значение заданного списка, третий элемент - куб третьего значения заданного списка, последний элемент - первый элемент заданного списка, остальные элементы соответствуют элементам заданного, но в обратном порядке. Например, list1 = [1,2,3,4,5,6,7,8,9,10] list2 = [10,5.5,27,9,8,7,6,5,4,1].
5. Получить данные о текущих курсах валют от ЦБ РФ (https://www.cbr-xml-daily.ru/daily_json.js). Создать датафрейм на основе полученных данных со следующими колонками: numcode, name, charcode, value. Отсортировать по убыванию значения value.