0:00
[МУЗЫКА]
[МУЗЫКА] [МУЗЫКА]
В данном урок мы проведем небольшой экскурс по видам данных,
с которыми нам надо работать, немного затронем вопросы предобработки и хранения.
Прежде чем приступать к решению задачи анализа данных,
нам необходимо разобраться с данными.
Во-первых, они могут быть разного типа.
Это могут быть логи сервера, фотографии автомобилей,
свод каких-либо текстов и тому подобное.
Во-вторых, они могут быть разного объема.
Данные могут занимать всего как несколько строк в текстовом файле (это,
например, ведомость студенческой группы),
так и десятки терабайт (это логи высоконагруженных систем).
В последнем случае не обойтись без специального кластера
со специализированным программным обеспечением,
который бы позволял писать код для обработки подобного объема информации.
Одним словом, нам нужно как-то эти данные хранить и обрабатывать.
Поэтому прежде всего нам нужно выбрать специальный
инструмент для хранения и обработки данных,
с которым мы можем работать, для того чтобы решить задачу анализа данных.
Может быть, нам достаточно таблицы Excel.
Давайте рассмотрим некоторые классические системы хранения информации.
Первая — самая традиционная — это реляционные базы данных.
К ним относятся как бесплатные продукты с открытым исходным кодом,
такие как MySQL, PostgreSQL и другие,
так и коммерческие системы, такие как Oracle или Microsoft SQL.
Я думаю, что некоторым из вас известны принципы организации
хранения данных в реляционных базах.
Данные хранятся в таблицах,
которые каким-то образом могут быть связаны между собой.
В принципе, можно сказать, что это был доминирующий вариант на рынке до эпохи,
которая называется маркетинговым термином Bag Data, или «большие данные».
Дальше стали популярны нереляционные распределенные
хранилища информации, которые получили название NoSQL.
Среди них можно выделить некоторые решения,
которые входят в экосистему Hadoop.
К ним относятся такие как: Cassandra, HBase, Hive.
Однако рассмотрение данных систем выходит за рамки нашего курса.
В некоторых случаях, когда речь идет не о больших данных и
данные могут вмещаться в память компьютера,
мы можем использовать встроенные и стандартные инструменты.
Это может быть DataFrames из языка R или библиотека
Pandas для языка Python, о которой мы поговорим позже.
Сейчас же можно сказать, что если вы работали с таблицами Excel,
то вышеперечисленные библиотеки позволяют выполнять схожие операции,
вот только управление данных происходит с помощью языка программирования.
Кроме того,
инструмент нужно выбирать в соответствии с дальнейшим сценарием развития.
Допустим, нам нужно рекомендовать какой-нибудь товар для
посетителей сайта в режиме онлайн.
Это накладывает определенные ограничения и требования к системе обработки данных.
Данные, которые к нам попадают, могут иметь разную природу.
Например, это изображение,
и на низком уровне нам необходимо оперировать отдельными пикселями.
Это могут быть различные временные ряды,
которые показывают котировки на бирже в разные моменты времени.
Это может быть текст,
который необходимо предварительно специальным образом обработать.
Данные могут быть неполные, когда некоторые значения в них отсутствуют.
Например, в классическом наборе данных Titanic Dataset,
который содержит данные о пассажирах Титаника, например,
такие как класс, пол, возраст, выжил ли пассажир.
Так вот, часть данных о некоторых пассажирах отсутствует.
Данные могут быть сильно разреженные — например,
логи посетителей сайта для подбора рекламы,
что требует определенных методов предобработки информации.
Кроме того, в анализе данных часто встречаются этические аспекты,
особенно когда речь касается медицинских баз и личной переписки пользователя.
При обработке таких данных информацию часто деперсонифицируют,
то есть убирают из нее все, что может нарушать приватность человека,
но при этом нужно позаботиться о ненарушении качества анализа данных.
Это отдельная и очень актуальная проблема.
Приведем некоторые конкретные примеры.
Допустим, у нас есть фотографии автомобилей,
которые были загружены с сайта по продажам подержанных машин.
Нам требуется научиться по уже новой фотографии определять марку машины.
Подобные задачи сейчас успешно решаются с помощью сверточных нейронных
сетей и графических процессоров, которые позволяют эффективно
выполнять типовые для нейросетей математический операции.
Или еще пример: у нас есть данные по ценам квартир на рынке,
и для каждой квартиры у нас есть набор характеристик,
такие как площадь, этаж, место расположения и другие.
Так вот, по этим характеристикам требуется предсказать стоимость квартиры,
ну или определить факторы, которые влияют на данную стоимость, которые
могут быть в дальнейшем использованы в различных социологических исследованиях.
Еще один пример: подбор рекламы.
Когда вы заходите на сайт, вам показывается реклама (разумеется,
если вы не используете блокировщики рекламы).
Так вот, чаще всего реклама персонализирована,
то есть рекламной сети нужно быстро определить ваши интересы, ваш пол,
возраст, а также вероятность, выберете вы данную рекламу или нет.
Все это требует эффективной работы с большими данными.
[БЕЗ_ЗВУКА]