Модуль 1 - Школа анализа инженерных данных
Модуль 1. Инженерные данные и сигналы (1 ч 36 минут)
Добро пожаловать! Перед вами учебный комплект к первому модулю Школы анализа инженерных данных. Он состоит из:
- Лекции
- Контрольных материалов
- Короткого практического семинара
- Домашнего задания
Что вы узнаете из этого модуля:
- В чем состоит природа инженерных данных, и почему для их анализа нужна своя интуиция, отличная от других областей;
- Как открывать любые файлы и объединять их в один набор для анализа;
- Какие неожиданные проблемы поджидают нас на пути к созданию хорошего набора данных, особенно при работе с цифровыми сигналами.
1. Инженерные данные и сигналы. Введение
Готовы вместе с нами навести порядок в хаосе инженерных данных? Начнем со знакомства - вот, из чего состоит наш курс.
❓ В курсе 5 занятий, после какого занятия вас ждёт домашнее задание?
✅ Правильный ответ: A — после каждой лекции вас ждёт тест, а после каждого семинара — домашнее задание. Вопросы для самопроверки - еще не тест!2. Откуда берутся инженерные данные
Где прячутся полезные сигналы среди горы логов и файлов? В этом видео вы научитесь видеть источники данных и понимать, с чего начинается любой анализ.
3. Julia за пять минут
Готовы продвинуться в освоении языка математического моделирования, который работает со скоростью C, но в понимании прост как Python и MATLAB? В этом видео вы научитесь создавать переменные, функции и массивы — и всё это за 5 минут!
4. Работа со строками
Учимся парсить текстовые файлы, извлекать нужные данные и превращать хаос в структуру!
❓ Какая команда разбивает строку на части по пробелам?
✅ Ответ:split(строка). В домашнем задании эта команда не использовалась напрямую, но она нужна для парсинга текстовых логов и CSV-строк, когда они загружаются как обычный текст. 5. Как читать ошибки Julia
Вы уже получили первые красные сообщения в консоли? В этом видео мы разберём самые частые ошибки и покажем, как понимать их с первого взгляда.
❓ Сообщение UndefVarError: x not defined означает, что переменная x не объявлена?
✅ Правильный ответ А: Да, это означает, что переменная не определена в текущей области видимости. Причина: либо вы опечатались, либо забыли её объявить, либо она находится в другой области видимости (например, внутри функции). 6. Чтение файлов и логов
Следующий шаг - открываем любые файлы, будь то логи или просто поток символов. В этом видео вы научитесь читать и обрабатывать неструктурированные данные.
❓ Как загрузить CSV-файл в качестве таблицы в Julia?
✅ Правильный ответ Б:CSV.read с аргументом DataFrame загружает CSV-файл в табличную структуру, с которой удобно работать. 7. Работа с бинарными файлами в Julia
Готовы заглянуть во внутреннее устройство бинарных протоколов? Ведь в логах можно встретить всё что угодно, даже сырые данные из памяти контроллеров - взять хотя бы протокол MODBUS. Изучаем как читать бинарную информацию интерпретировать байты, HEX-коды и извлекать смысл из этого машинного языка!
8. Работа с датой и временем в Julia
Нас ждет событие. Много событий. Мы будем анализировать временные ряды, состоящие из событий. Поэтому нужно научиться работать с годами, месяцами, днями, часами, минутами и секундами, прежде чем искать закономерности в данных. В этом видео вы научитесь работать с временными метками и фильтровать данные по времени.
9. Работа с табличными данными DataFrames в Julia
В этом видео вы научитесь фильтровать, группировать, объединять и агрегировать данные, пользуясь таблицами.
❓ Команда size(df) возвращает количество строк и столбцов в DataFrame?
✅ Правильный ответ А: Да. `size(df)` возвращает кортеж `(строки, столбцы)`. Чтобы получить только строки, можно написать `size(df, 1)` или `nrow(df)`. 10. Работа со структурированными файлами
Прочитать в программе форматы JSON, XML и TOML так же легко, как и обычный текст. В этом видео вы научитесь открывать и парсить любые структурированные форматы.
❓ В какой объект будет преобразована JSON-строка str если ее подать в JSON.parse(str) в Julia?
✅ Правильный ответ Б: JSON.parse разбирает JSON-строку и возвращает структуру данных Julia (словарь, массив или их комбинацию). Это удобно для работы с конфигурациями и API. 11. Работа с мультимедиа файлами в Julia
Сейчас мы расскажем, что скрывается в аудиофайлах, и как открыть изображение и разобрать его на части. В этом видео вы научитесь работать с WAV и PNG, превращая звук в массив чисел, а картинку — в матрицу пикселей!
12. Первичный анализ данных
Пора поговорить о том, с чего начинается любой серьёзный анализ данных. Первые шаги для создания пайплайна, которые сложно целиком автоматизировать, но намного полезнее решать при помощи программирования, чем при помощи ручного труда в табличном редакторе.
❓ Что вернет команда mean(data), если в данных есть пропущенные значения (NaN)?
✅ Правильный ответ Б: mean(data) вернёт NaN, если в данных есть пропуски. Лучше выполнять mean(skipmissing(data)).13. Технические проблемы при обработке сигналов
Готовы победить шум, пропуски и выбросы? В этом видео вы научитесь сглаживать сигналы, заполнять пропуски и находить аномалии, чтобы данные заиграли по-новому!
14. Заключение
Резюмируем пройденное и обсуждаем, куда двигаться дальше.
Тестирование по лекции (10 вопросов)
Для того чтобы пройти тестирование, перейдите по ссылке.
Практический семинар (20 минут)
Материал для практической подготовки к выполнению и сдачи домашнего задания по первой главе курса.
Домашнее задание (6 простых задач)
Если вы смотрите курс в Сообществе, откройте его в Engee (кнопка Открыть в Engee наверху страницы)
-
Откройте в файловом браузере папку, где расположен учебный комплект.
-
Решите практическую работу на платформе Engee и сопоставьте ваши разультаты с ожидаемыми.
-
Чтобы сдать результаты домашней работы, перейдите по этой ссылке и скопируйте код из специально выделенных кодовых ячеек в проверочную систему Etude.
Как следить за моим прогрессом по тестам и домашнему заданию?
Вы можете отслеживать, какие тесты вы сдали (из уже открытых) с каким баллом, и запускать пересдачу, на странице https://my.etude.org/groups/join/iMAcqDTcnW9CnrmUNz82YW.
Там находится информация о курсе и о пройденных мероприятиях.