Инструменты и методы Data Science для медиакомпаний на примере издания "Ведомости"

Представление данных в нейронных сетях. Рекомендательная система New York Times. Проведение эксперимента Washington Post по предсказанию популярности статей. Применение методов Data Science в издании "Ведомости". Изучение сегментации на основе RFM.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.12.2019
Размер файла 320,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное государственное автономное образовательное учреждение высшего образования

«Национальный исследовательский университет “Высшая школа экономики”»

Факультет коммуникаций, медиа и дизайна

Выпускная квалификационная работа

Инструменты и методы data science для медиакомпаний на примере издания «Ведомости»

Тапкин Василь Тагирзянович

Москва 2019

Оглавление

Введение

Глава 1. Теоретические основы и инструменты Data Science

1.1 Определение Data Science

1.2 Представление данных в нейронных сетях

1.3 Архитектура нейронных сетях

1.4 Инструменты Data Science

Глава 2. Обзор Data Science проектов крупных медиакомпаний

2.1 Рекомендательная система New York Times

2.2 Эксперимент Washington Post по предсказанию популярности статей

Глава 3. Применения методов Data Science в издании «Ведомости»

3.1 Сегментация на основе RFM

3.2 Прогнозирование оттока

3.3 Рекомендательная система

Заключение

Cписок использованной литературы и источников

Приложение

Введение

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

До недавнего времени вопросами анализа данных занималась математическая статистика, но со временем к методам математической статистики добавились искусственный интеллект и информатика объединившиеся под термином «Data Science». На русский язык термин переводится как «Наука о данных», четких границ у этого определения нет, это довольно широкое понятие, составные элементы которого меняются в зависимости от сферы, в которой оно применяется. Формально его можно определить как набор некоторых взаимосвязанных дисциплин из математики, информатики и визуализации, которые отвечают за анализ, извлечение закономерностей и знаний из различных форм данных. Но тем не менее фундаментально наука о данных опирается на математику. Так как это работа посвящена применению методов Data Science в медиакомпаниях, то мы будем рассматривать этот термин с точки зрения применения в медиакомпании.

Таким образом, в Data Science входят следующие задачи:

– Сбор, обработка и преобразование данных

– Объединение данных из разных источников

– Очистка данных

– Анализ данных, извлечение закономерностей и тенденций из данных

– Сегментация основанная на данных

– Построение моделей машинного и глубокого обучения

– Визуализация данных

Машинное обучение, глубокое обучение и искусственный интеллект являются неотъемлемой частью Data Science. Математический аппарат, который используется в современная системах искусственного интеллекта во многом был готов уже в конце 80-ых годах 20-го века, но до недавнего времени мощности вычислительных машин были недостаточны, чтобы совладать с этим математическим аппаратом.

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

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

Главной целью данной работы является разработка, реализация и внедрение систем, основанных на методах науки о данных в издание «Ведомости».

Для достижения поставленной цели необходимо выполнить следующие задачи:

1. Изучить и проанализировать существующие методы науки о данных

2. Составить описание применяемых практик медиакомпаниями

3. Реализовать программные продукты, основанные на Data Science, для их применения в издании «Ведомости»

4. Внедрить полученные практики в систему издания «Ведомости»

5. Провести тесты разработанных систем

Исследовательский вопрос заключается в поиске применяемых практик науки о данных в медиакомпаниях, анализе, модернизировании и адаптировании этих практик под систему издания «Ведомости».

Научная новизна исследования.

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

Объект исследования

Объектом исследования данной работы является издание «Ведомости», входящее в медиакомпанию АО «Бизнес Ньюс Медиа».

Предмет исследования

Предметом исследования является разработка систем для маркетинговых рассылок и рекомендательной системы.

Степень разработанности научной проблемы

Data Science стремительно развивается в последние годы и постоянно появляются новые методы и сферы применения. Методы науки о данных сильно меняются при их применении в различных условиях, что даёт практически безграничный простор для разработки проблем Data Science.

Эмпирическая база исследования и методы

В качестве эмпирической базы исследования выступают блоги медиакомпаний, в которых они делятся опытом, а также материалы конференций и научные статьи. В качестве данных, на которых строились системы, использовались данные издания «Ведомости». Данные обрабатывались с помощью SQL и Python.

Выпускная квалификационная работа включает в себя введение, теоретическую часть, практическую часть, заключение, список литературы и приложения.

Теоретическая часть состоит из обзора некоторых Data Science проектов крупных медиакомпаний и теоретической базы инструментов, применяемых в работе, для создания Data Science проектов в издании «Ведомости».

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

Глава 1. Теоретические основы и инструменты Data Science

1.1 Определение Data Science

В этой главе я дам некоторые определения и теоретическое обоснование ключевых методов, используемых в Data Science.

Что такое Data Science?

Data Science можно рассматривать как комбинацию из нескольких компонентов:

- Статистика

- Линейная алгебра

- Математический анализ

- Программирование

- Data mining

- Визуализация данных

- Искусственный интеллект

Рассмотрим каждый компонент подробнее. Статистика - довольно ёмкое понятие, в основном в Data Science используется лишь часть обширной области работы с данными, объединённой под данным термином. Ключевыми элементами статистики, использующимися в науке о данных, являются: распределение вероятностей, тестирование гипотез, статистическая значимость, регрессия. Также, многие модели машинного обучения основаны на байесовской вероятности, использующей следующие элементы: априорная вероятность, апостериорная вероятность, условная вероятность и метод максимального правдоподобия.

Линейная алгебра - раздел математики, который изучает системы линейных уравнений, линейные преобразования, векторы и векторные пространства. Многие модели машинного обучения тесно связаны с линейной алгеброй. Например, модели регрессии используют умножение матриц, а метод главных компонент основан на вычислении собственных векторов и собственных значений ковариационной матрицы.

Математический анализ - раздел математики, описывающий дифференциальные и интегральные исчисления. Математический анализ во многом используется в Deep Learning, к примеру, метод обратного распространения ошибки использует вычисление градиента.

Программирование - данный пункт можно разделить на две составляющие: работа с SQL и NoSQL базами данных, и средства для обработки данных и построения моделей. На текущий момент самые популярные языки программирования в Data Science это Python и R.

Data mining - процесс получения из «сырых» данных ранее неизвестных, нетривиальных знаний, необходимых для принятия решений.

Визуализация данных - представление информации, извлеченной из данных в виде, наиболее доступным для восприятия.

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

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

Глубокое обучение является подмножеством машинного обучения, использующее нейронные сети с большим количеством нейронов и слоёв. Глубокое обучение имеет ряд преимуществ перед классическим машинным обучением в широком круге задач, который включает в себя такие задачи как обработка речи, естественного языки, компьютерное зрение, прогнозирование временных рядов. Минусом глубокого обучения является необходимость в большом количестве входных данных.

Системы искусственного интеллекта являются одним из самых мощных инструментов Data Science, поэтому им будет посвящена большая часть данной работы.

1.2 Представление данных в нейронных сетях

Данный раздел посвящён описанию формы данных, с которыми работают нейронные сети.

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

Рассмотрим наиболее часто встречающиеся в машинном обучении размеры тензора.

Скаляр - величина, определяемая одним числом, является тензором нулевого ранга.

Вектор - одномерный математический объект, состоящий из n чисел, является тензором первого ранга. Например, одномерный массив состоящий и четырёх элементов [1,2,3,4], будет четырёхмерным вектором, но одномерным тензором.

Матрица - математический объект, представленный в виде совокупности строк и столбцов, является тензором второго ранга.

Пример матрицы

У тензора можно выделить два ключевых атрибута:

– Ранг тензора - количество осей, например, вектор будет иметь одну ось, а матрица две;

– Форма - количество измерений на каждой оси тензора, например вектор из примера выше будет иметь форму (4,), а матрица (2, 2);

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

Векторные данные - тензоры второго ранга, хранящие образцы и признаки. Являются самой распространённой формой данной, в качестве примера рассмотрим набор данных о ста людях, где для каждого человека указан пол, возраст и год рождения. Такой набор данных можно представить в виде тензора второго ранга и формой (100, 3).

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

В качестве примера можно рассмотреть набор данных о температуре воздуха за 10 дней. Каждый час мы замеряем максимальную, минимальную и среднюю температуру воздуха. Тогда каждый час будет представлен четырёхмерным вектором, а каждый день тензором второго ранга, формой (24, 4). Данные за 10 дней будут тензором третьего ранга с формой (10, 24, 4).

Изображения - тензоры четвёртого ранга, хранящие образцы, высоту, ширину и цвет изображения. По соглашению все изображения, даже чёрно-белые, имеют три измерения, но чёрно-белым изображениям отводится под цвет лишь один канал вместо трёх. Например, 10 чёрно-белых изображений размером будут тензором четвёртого ранга и формой (10, 28, 28, 1). Те же изображения, но цветные, будут тензором с формой (10, 28, 28, 3)

Видео - тензоры пятого ранга, хранящие образцы, кадры, высоту и ширину. Видеоданные можно представить как упорядоченную последовательность изображений, кадров. Каждое видео -- это четырёхмерный тензор с формой (кадры, высота, ширина, цвет). Соответственно, набор видеоданных будет пятимерным тензором (образцы, кадры, высота, ширина, цвет).

1.3 Архитектура нейронных сетях

Основными компонентами нейронных сетей являются слои, функция потерь и оптимизатор.

Работу нейронной сети можно описать следующим образом:

1) Нейронной сети передаются входные данные, разделенные на исходные данные и цель

2) Объединённые в цепочку слои отображают исходные данные в предсказания

3) Функция потерь производит сравнение предсказанных значений с целями и возвращает значение потери

4) Оптимизатор корректирует веса сети, основываясь на значении, полученном от функции потери

Слои являются фундаментальной составляющей нейронных сетей, их можно определить как строительные блоки нейронных сетей, модули обработки данных. Слой принимает на вход тензоры и возвращает тензоры. Для разных видов данных используются разные слои, например для обработки векторных данных чаще всего используются полносвязные слои, для обработки временных рядов и последовательностей обычно используются рекуррентные слои, а для работы с изображениями используют двумерные свёрточные слои.

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

Оптимизатор реализует одну из модификаций стохастического градиентного спуска и определяет, как будет меняться сеть, под воздействием функции потерь.

1.4 Инструменты Data Science

Данный раздел посвящён некоторым популярным программным инструментам, которые используются в Data Science. Так как, пока нет четкой границы области науки о данных, соответственно нет чёткого набора инструментов, которые можно отнести к данной области. Кроме того, в области Data Science даже нет единого мнения в выборе языка обработки данных, кто-то использует Python, кто-то R, кто-то Julia и так далее. Поэтому в задачи этого раздела не входит охват полного списка инструментов, используемых в Data Science, только некоторых популярных инструментов для работы с реляционными базами данных и обработки языком программирования Python.

SQL

Прежде чем обрабатывать данные, их нужно куда-то записать, а потом получить нужную их часть. Для таких задач существует язык управления данных для реляционных баз данных SQL. Большинство реляционных баз данных используют свой диалект SQL, например MySQL, PostgreSQL, Clickhouse. Язык SQL позволяет как записывать данные в базу, так и делать запросы для получения данных к базе.

Python

На текущий момент наиболее популярный язык в области обработки данных в Data Science это высокоуровневый язык программирования Python. Одними из плюсов данного языка являются простота, высокая скорость разработки, поддержка функционального, объектно-ориентированного, структурного, аспектно-ориентированного и императивного программирования. Но Python имеет классическую для интерпретируемых языков программирования проблему - не высокий уровень скорости выполнения программ.

SQLAlchemy

Библиотека позволяет синхронизовать реляционные базы данных и Python.

Pandas

Pandas это библиотека для Python, позволяющая работать с данными в удобном формате, в виде таблиц. Библиотека включает в себя как структуры данных, так и инструменты для их анализа. Pandas включает в себя много реализованных операций с данными, такие как группировка, фильтрация, объединение, чтение и запись и многое другое. Библиотека строит работу с данными поверх другой библиотеки Numpy. Но многие операции с данными в Pandas значительно медленнее, чем если бы они были написаны на чистом Numpy.

Numpy

Основная библиотека, лежащая в основе большинства библиотек связанных с обработкой данных. Библиотека включает в себя реализацию многомерных массивов и множества вычислительных алгоритмов.

SciPy

SciPy в своей реализации использует такие пакеты как Numpy и Pandas для предоставления средств решения математических и научных задач. Включает в себя преобразование Фурье, работу с вероятностными распределениями, интегральными исчислениями, методы линейной алгебры и многое другое.

Scikit-learn

Библиотека основывается на Numpy и Scipy и предоставляет широкий спектр алгоритмов для машинного обучения. В Scikit-learn входят алгоритмы предобработки данных, разделения данных на обучающую и тестовую выборки, алгоритмы регрессии, кластеризации и классификации.

TensorFlow

Библиотека глубокого обучения, разработанная компанией Google. Библиотека использует обработку тензоров для решения задач построения и тренировки нейронной сети. Является самой популярным фреймворком для глубокого обучения, так же широкую популярность имеют такие библиотеки, как Pytorch, разработанная Facebook, Caffe и Theano.

Keras

Для упрощения работы с нейронными сетями и более компактного и читаемого кода нейронных сетей, Франсуа Шолле разработал надстройку над фреймворками глубокого обучения TensorFlow, Microsoft Cognitive Toolkit и PlaidML. C 2017-года Google решил включить Keras в состав ядра TensorFlow.

NLTK

NLTK - библиотека для обработки естественного языка, включает в себя готовые наборы высокочастотных стоп-слов, определение именованных объектов, графические представления данных.

Numba

Как было написано выше, одним из недостатков Python является его скорость. Связано это со многими причинами - это то, что язык не компилируемый, большое количество косвенных обращений к памяти, хранение объектов в сложных структурах данных. Numba позволяет ускорить математические операция в Python. Это JIT (just-in-time) компилятор, использующий LLVM (Low Level Virtual Machine) для компиляции максимально возможной части кода. Одной из причин, по которой сильно возрастает скорость выполнения - явная подстановка типов. Кроме того, существует опция ограничения возможных типов аргументов.

Flask

Микрофреймворк, позволяющий создавать вебсайты на языке Python. Полезен для создания интерфейсов для Data Science программ.

Глава 2. Обзор Data Science проектов крупных медиакомпаний

В этой главе пойдёт речь о Data Science проектах, реализованных крупными медиакомпаниями New York Times и Washington Posts

2.1 Рекомендательная система New York Times

Одной из самых распространённых задач Data Science является построение рекомендательных систем. О них, а именно о рекомендательной системе New York Times и пойдёт речь в данном разделе.

New York Times - крупное американское издание, второе по тиражу в стране после The Wall Street Journal. Издание публикует более трёхсот статей в день, по данным аналитического сервиса SimilarWeb [1], сайт издания посещают около трёхсот миллионов человек в месяц.

Издание имеет сайт Times Open, где делится историями создания некоторых из их цифровых продуктов. Одним из таких, представленных на сайте является рекомендательная система [2].

New York Times использует смешанный подход из двух видов рекомендательных систем для построения своей системы. Первый подход, content-based, основан на истории прочтения пользователя, выделяющий темы статей, прочитанных пользователем. Опытным путем, издание пришло к выводу, что одной темы для описания статьи недостаточно и они решили представлять каждую из статей как комбинацию из двух тем, например “Политика” и “Искусство”. Темы статей определяются, используя латентное размещение Дирихле, порождающую модель, применяемую в машинном обучении. Второй подход заключается в предположении, что если предпочтения одного читателя очень похожи на предпочтения другого читателя, то статьи, прочитанные первым читателем, могут заинтересовать второго читателя. Минус этого подхода заключается в том, что он не позволяет рекомендовать недавно опубликованные статьи: статьи, которые актуальны для группы читателей, но ещё не были прочитаны ни одним из читателей в этой группе.

Использую оба этих подхода, New York Times, создали алгоритм, основанный на Collaborative Topic Modeling [3]. Работу алгоритма можно описать следующим образом:

– Моделирование контента

– Настройка модели путем обработки сигналов от читателей

– Моделирование предпочтений читателей

– Рекомендация статей, используя предпочтения читателя и модель контента

2.2 Эксперимент Washington Post по предсказанию популярности статей

В 2016 году Shuguang Wang, ведущий Data Scientist Washington Posts, Eui-Hong (Sam) Ham, директор по большим данным и персонализации Washington Posts, а также Yaser Kaneshloo и Naren Ramakrishnan с департамента компьютерных наук политехнического университета Виргинии, на конференции Proceedings of the 2016 SIAM International Conference on Data Mining представили статью про то, как они строили систему, которая предсказывала популярность статей Washington Posts [4].

Первоначально, их идея заключалась в том, что есть корреляция между тем, сколько раз пользователи кликнули на статьи через тридцать минут после публикации и тем, сколько будет кликов через двадцать четыре часа. Они выбрали пять статьи опубликованные, за пять случайных дат и посмотрели сколько было кликов через полчаса после публикации и через сутки. Результаты оказались не обнадёживающими, и они пришли к выводу, что посмотреть сколько кликов получает история за первые полчаса после публикации не является точным способом измерения её популярности.

В итоге они решили прибегнуть к машинному обучению, а именно к построению регрессионной модели. Сгенерированные признаки для обучения они разделили на четыре группы:

1. Метаданные

a. Тип статьи - является ли статья сообщением в блоге или статьёй

b. Категория статьи - некоторые категории генерируют вирусные статьи, некоторые нет

c. Раздел статьи - аналогично категории статьи является важным фактором влияющим на популярность

d. Дата публикации - рассматривается с точки зрения времени суток и дня недели

e. Автор статьи - разные авторы генерируют разное количество статей и с разными признаками

2. Контекстные признаки

a. Тональность - определяется как для заголовка, так и для текста. Разделена на четыре категории {отрицательная, положительная, составная, нейтральная}

b. Именованные сущности - количество людей, место, организации в статье

c. Читабельность - пять показателей, определяющих уровень читаемости текста

d. Свежесть статьи - пересечение тем, количество кликов десяти наиболее похожих статей, схожесть контента с десятью наиболее похожими статьями и количество похожих статей в историческом наборе данных

3. Временные признаки

a. Время между временем публикации и первом просмотром

b. Количество просмотров за первые тридцать минут после публикации

c. Скорость, с которой статья читается в первые тридцать минут

d. Временные ряды просмотров в первые тридцать минут, сгруппированные по пятиминутным интервалам

4. Социальные признаки (Facebook, Twitter)

a. Время между временем публикации и первом твитом

b. Количество твитов через полчаса после публикации

c. Количество подписчиков, которые публикуют новость в течение тридцати минут

d. Скорость, с которой твитится статья в течение первых тридцати минут

e. Временные ряды твитов в первые тридцать минут, сгруппированные по пятиминутным интервалам

Обучая модель, на вышеописанных признаках сорок одной тысячи новостных статей, опубликованных в Washington Posts и сравнив несколько моделей регрессии, исследователи получили эффективную модель, комбинируя деревья регрессии, лассо-регрессию и ридж-регрессию. Тестируя модель множественного регрессионного анализа, использовав все статьи, опубликованные в августе 2015-го года, удалось получить скорректированный коэффициент детерминации 82.9%, что является хорошим результатом. Washington Posts интегрировала этот инструмент в рекламные продукты с рассылкой своих статей, ранжируя их согласно их актуальности и ожидаемой популярностью посчитанной данным алгоритмом.

Глава 3. Применения методов Data Science в издании «Ведомости»

«Ведомости» -- ежедневная деловая газета, берёт своё начало в 1999-ом году. Издание было основано совместными усилиями двух ведущих бизнес-газет мира - американской The Wall Street Journal и английской Financial Times. В 2015-ом году, после внесение поправок в закон «О средствах массовой информации» 2014-го года, согласно которому иностранцы могут владеть не более, чем 20-ти процентами российских медиа, издание было продано российскому медиа-менеджеру и предпринимателю Демьяну Кудрявцеву. Издание имеет как печатную так онлайн версию. Нижеприведенные системы основаны на данных только онлайн версии издания.

3.1 Сегментация на основе RFM

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

В своём классическом варианте RFM базируется на трёх показателях - Recency, Frequency и Monetary Value, где:

– Recency - время прошедшее с последней сделки. Чем меньше время с прошедшей сделки, тем больше вероятность, что клиент совершит новую сделку

– Frequency - количество совершенных сделок, за выбранный для исследования период. Чем выше количество совершённых сделок, тем выше вероятность, что клиент совершит новую сделку

– Monetary Value - общая сумма сделок за исследуемый период, чем больше сумма, тем больше вероятность, что клиент совершит новую сделку

Адаптируя RFM под модель издательства, удобнее в качестве показателей использовать следующее:

– Recency - время прошедшее с последнего посещения клиентом сайта

– Frequency - количество дней, за исследуемые период, в которые клиент посещал сайт

– Monetary Value - количество прочитанных клиентом статей

В рамках данной работы был реализован сервис, используя который маркетологи одним нажатием кнопки получают файл с контактными данными пользователей, поделённых на 6 групп, используя данные последних трёх месяцев:

– Новые - пользователи, которые присоединились недавно и за исследуемый период имеют малое количество активных дней

– Одноразовые - пользователи, которые были на сайте небольшое количество дней, а потом перестали заходить вовсе

– Потерянные - пользователи, которые имеют много активных дней за исследуемый период, но последний раз заходили на сайт давно

– Растущие - пользователи имеющие средние показатели частоты и давности последнего захода на сайт

– Лояльные - пользователи, которые имеют высокие показатели частоты и давности последнего захода на сайт, но меньшие чем у VIP

– VIP - пользователи, которые имеют самые высокие показатели частоты и давности последнего захода на сайт

Алгоритм работы

1. Сбор данных

SQL запросом к базе поведенческих данных издания «Ведомости» выгрузить данные посещения сайта за последние три месяца со следующими параметрами:

– user_id - уникальный идентификатор пользователя

– doc_id - уникальный идентификатор прочитанного документа

– date - дата прочтения документа с идентификатором doc_id, пользователем с идентификатором user_id

2. Расчет параметра Recency

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

3. Расчет параметра Frequency

Для каждого пользователя рассчитать Frequency, как количество уникальных значений поля date для каждого user_id.

4. Расчет параметра Monetary Value

Для каждого пользователя рассчитать Monetary Value, как количество уникальных значений поля doc_id для каждого user_id.

5. Сегментация по Recency

Разбить полученные во втором пункте данные со значением Recency, квартилями на 4 группы. Тем, кто недавно был на сайте будет присвоен код Recency=1, а тем, кто не был на сайте дольше всех код Recency = 4.

6. Сегментация по Frequency

Разбить полученные в третьем пункте данные со значением Frequency, квартилями на 4 группы. Тем, у кого количество активных дней на сайте больше всех, будет присвоен код Frequency=1, а тем, кто имеет наименьшее количество активных дней код Frequency = 4.

7. Сегментация по Monetary Value

Разбить полученные в четвертом пункте данные со значением Monetary Value, квартилями на 4 группы. Тем, у кого количество прочитанных статей за исследуемый период больше всех, будет присвоен код Monetary = 1, а тем, кто e у кого количество прочитанных статей наименьшее код Monetary = 4.

8. Объединения кодов Recency, Frequency и Monetary в один код

Совместить полученные коды Recency, Frequency и Monetary в один. Таким образом, каждый юзер получит код, состоящий из трёх цифр, от одного до четырёх каждая.

9. Сегментация пользователей на группы

Используя коды, полученные в пункте 8, разбить пользователей на 6 групп: новые, одноразовые, потерянные, растущие, лояльные. Сохранить разбитые по группам user_id в xlsx файл, где каждой группе соответствует отдельный лист. нейронный сеть популярность статья

Для наглядности можно изобразить разделение на группы по параметрам Recency и Frequency на двумерной плоскости, где оси X будет соответствовать код Recency, а оси Y код Frequency.

рис.1 Сегментация по параметрам Recency и Frequency

Сбор, обработка и анализ данных выполнялись в среде Python. Для сбора данных использовалась Python библиотека SQLAlchemy, позволяющая делать SQL запросы к ClickHouse и преобразовывать данные в табличную структуру данных DataFrame для обработки библиотекой Pandas. RFM сегментация была реализована для трёх типов пользователей:

– Пользователи, у которых есть платная подписка на месяц

– Пользователи, у которых есть платная подписка на год

– Пользователи без платной подписки

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

Вышеописанная html страница размещена на сервере издания «Ведомости» через веб-приложение написанное на веб-фреймворке Flask.

рис.2 Интерфейс взаимодействия с системой RFM сегментации

Сегментация, основанная на RFM сильный инструмент, но она может показать лишь ситуацию на момент расчёта. RFM анализ не может нам помочь, когда стоит задача узнать перестанет ли пользователь использовать продукт через год, месяц или неделю. Но такого рода задачи могут решать нейронные сети, о чем и пойдёт речь в следующем разделе.

Код RFM сегментации приведён в приложении 1. Из кода удалены подключение и запросы к базам данных издания «Ведомости».

3.2 Прогнозирование оттока

Начнем с определения, что такое отток в случае издания «Ведомости». Есть база всех пользователей издания, которые регулярно посещают сайт. С течением времени какие-то пользователи перестают интересоваться данным продуктом и больше не заходят на сайт, покидают нас. Это мы и будем считать за отток. Предполагается, что если вовремя заметить у пользователя признаки того, что он собирается перестать пользоваться продуктом, в нашем случае посещать сайт, то можно его удержать, например показав его значимость для организации персональной рассылкой или скидкой на подписку. Таким образом задача прогнозирования оттока сводится к тому, чтобы заранее, пока пользователь ещё не перестал заходить на сайт, предсказать его уход. Легко заметить, что в таком случае значений целевой функции всего два, либо пользователь продолжает пользоваться сайтом по истечению предсказываемого периода, либо уходит. Задача сводится к задаче бинарной классификации.

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

Пусть есть какой-либо месяц . Тогда для обоих методов задача была определена как - используя данные за промежуток [n-3; n-1], дать оценку вероятности отписки за месяц n. Во время обучения используются признаки, сгенерированные из данных за месяцы [n-3; n-2] и метки за месяц n-1. Для оценки вероятности за месяц n используются признаки из данных за месяцы [n-2; n-1].

Градиентный бустинг над решающими деревьями

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

1. Базовый алгоритм

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

2. Вектор сдвига

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

,

Где - исходная функция потерь, - истинный ответ функции потерь на объекте, - уже построенная композиция.

3. Расчет базового алгоритм

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

,

4. Добавление в композицию

Добавить найденный базовый алгоритм в композицию.

,

Вышеописанные шаги повторяются до тех пор, пока не наступит сходимость.

Решающее дерево -- это кусочно-постоянный алгоритм, в случае применения с градиентным бустингом он настраивается по среднеквадратичной ошибке. В градиентном бустинге над решающими деревьями, базовыми алгоритмами являются решающие деревья.

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

– Количество прочитанных бесплатных статей

– Количество прочитанных платных статей

– Количество переходов на сайте

– Количество листаний в галереях

– Количество ударов в paywall

– Распределение по используемому устройству компьютер или смартфон

– Количество просмотров turbo страниц

– Количество просмотров AMP страниц

– Количество переходов из популярных источников: google, facebook, Yandex, СМИ2

– Распределение прочтений по рубрикам: бизнес, экономика, финансы, политика, технологии, недвижимость, авто, мнения, расследования, интервью, менеджмент, стиль жизни

Ведомости имеют четыре группы рассылок:

– Сервисные

– Триггерные

– Коммерческие

– Контентные

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

Все вышеуказанные признаки были посчитаны для каждого дня за период в 60 дней. Так как градиентный бустинг над решающими деревьями требует на входе одномерный вектор, необходимо преобразовать данные за шестидесятидневный период в статистические показатели за этот промежуток и получить одномерный вектор. Для этого для каждого из вышеперечисленных признаков, за период в 60 дней считались:

– Минимальное значение

– Среднее значение

– Максимальное значение

– 0.01 - квантиль

– 0.05 - квантиль

– 0.95 - квантиль

– 0.99 - квантиль

– Стандартное отклонение

– Коэффициент эксцесса

– Коэффициент асимметрии

Также для каждого признака было вычислено дискретное преобразование Фурье, методом быстрого преобразования Фурье. Для вещественной и мнимой части полученных комплексных значений были посчитаны вышеупомянутые статистические признаки.

Так как задача бинарной классификации, меток классов всего две, таким образом, если модель обучается на признаках за период [n-3; n-2], то метки будут:

– 0, если за месяц n-1 у пользователя более двух посещений сайта

– 1, если за месяц n-1 у пользователя менее двух посещений сайта

Метка 0 означает, что мы считаем, что пользователь продолжает пользоваться сайтом. А метка 1 то, что пользователь ушёл.

Наиболее популярные библиотеки, реализующие градиентный бустинг над решающими деревьями это XGBoost [5], разработанная Distributed (Deep) Machine Learning Community, LightGBM [6][7], разработанная компанией Microsoft и Catboost [8], разработанная российской компанией Яндекс. Согласно исследованиям [9][10] производительности библиотек градиентного бустинга, наиболее оптимальной библиотекой для задачи классификации, по показателям скорости обучения и результатам классификации является Catboost, поэтому эта библиотека была выбрана для реализации градиентного бустинга.

Программная реализация предсказания оттока моделью Catboost

Функция download_data() делает запросы к базе поведенческих данных пользователей и к базе рассылок и совмещает данные из этих двух баз в одну таблицу, группируя их по дням и возвращает таблицу в формате DataFrame. Каждая строка содержит уникальный идентификатор пользователя, дату и значения признаков. Полученные данные имеют вид представленные в таблице 1.

Таблица 1. Вид таблицы сгруппированной по дням

User_id

Day

Количество прочитанных бесплатных статей

Количество прочитанных платных статей

Количество переходов по контентным рассылкам

01230130

2019.03.01

3

1

1

01230130

2019.03.02

1

0

0

32482482

2019.03.01

1

1

0

Функция generate_features(data) принимает на вход DataFrame, сгенерированный функцией download_data(), группирует данные по user_id и передаёт матрицы с каждым из юзеров функции statistic_computing(matrix), принимающей на вход матрицу признаков для одного пользователя и возвращающую строку с рассчитанными статистическими показателями для данного пользователя. На выходе функция generate_features возвращает матрицу с признаками и метки классов для обучения и матрицу признаков для предсказания следующего месяца.

Функция build_catboost_model(train, train_target) принимает на вход матрицу с признаками и значения меток классов, обучает модель градиентного бустинга над решающими деревьями и возвращает обученную модель.

Функция make_prediction(model, matrix) принимает на вход обученную модель градиентного бустинга над решающими деревьями и матрицу признаков. Функция используют обученную модель чтобы сделать предсказание отписки на следующий месяц и возвращает его.

Код CatBoost модели приведён в приложении 2. Из кода удалены подключение и запросы к базам данных издания «Ведомости».

Классификация, основанная на прогнозировании временных рядов

Для обработки упорядоченных последовательностей используются рекуррентные нейронные сети - сети, которые содержат обратные связи и позволяют сохранять информацию. На практике исследования показывают, что обработка долговременных зависимостей в классических рекуррентных нейронных сетях является сложной [11]. Но с таким хорошо справляются LSTM модели - сети долгой краткосрочной памяти. LSTM сети были описаны Зеппом Хохрайтером в 1997 году [12]. Это одна из разновидностей архитектуры рекуррентных нейронных сетей, разработанная специально, чтобы обойти проблему долговременной зависимости.

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

Программная реализация предсказания оттока моделью LSTM

Функция download_data() делает запросы к базе поведенческих данных пользователей и к базе рассылок и совмещает данные из этих двух баз, группируя их по неделям. Каждая строка содержит уникальный идентификатор пользователя, неделю, выраженную как дату понедельника и значения признаков. Кроме того, делается запрос на данные посещения сайта, сгруппированные по дням, для присваивания меток классов. Функция возвращает две таблицы в формате DataFrame, сгруппированные по неделям и по дням.

Таблица 2. Вид таблицы, сгруппированной по неделям

User_id

Week

Количество прочитанных бесплатных статей

Количество прочитанных платных статей

Количество переходов по контентным рассылкам

01230130

2019.03.04

6

3

1

01230130

2019.03.11

12

5

2

32482482

2019.03.04

3

2

0

Функция train_validation_test(data, data_per_day) принимает на вход два DataFrame, полученных в функции download_data. Функция обрабатывает таблицу, сгруппированную по неделям, преобразуя данные во временные ряды для каждого пользователя. Данные разделяются на три выборки - для обучения, для валидации и для предсказания. Сами выборки являют тензорами третьего ранга, у которых в качестве второй оси выступает ось времени. Валидационная выборка сдвинута относительно выборки для обучения на две недели вперёд. Для каждой выборки, кроме выборки для предсказания вычисляется метка класса, обрабатывая данные таблицы сгруппированной по дням. Функция возвращает тензор для обучения и метки классов для обучения, тензор для валидации и метки классов для валидации и тензор для предсказания отписки.

Функция build_model(train, train_target, validation, validation_target) принимает на вход тензор для обучения и метки классов для обучения, тензор для валидации и метки классов для валидации. Функция строит LSTM модель, для построения модели использует Tensorflow 2.0 и встроенный в него Keras, архитектура модели изображена на рисунке 3.

рис.3 Архитектура LSTM модели

Так как необходима классификация в два класса, в качестве функции потерь была выбрана бинарная перекрёстная энтропия. В качестве оптимизатора использовалась адаптивная оценка момента. Классы оказались несбалансированные, поэтому использовалась предустановка весов модели, чтобы нивелировать эффект несбалансированности классов. Функция обучает модель на десяти эпохах и возвращает обученную модель.

Функция make_prediction(model, matrix) принимает на вход обученную сеть долгой краткосрочной памяти и матрицу признаков для предсказания. Функция используют обученную модель чтобы сделать предсказание отписки на следующий месяц и возвращает его.

Код LSTM модели приведён в приложении 3. Из кода удалены подключение и запросы к базам данных издания «Ведомости».

Тестирование моделей

Перед тестированием моделей, определим некоторые метрики оценки моделей, для нашей задачи.

Начнем с определения матрицы ошибок. Пусть есть алгоритм, который классифицирует пользователей сайта в два класса 1, когда алгоритм сделал предсказание, что пользователь отпишется в месяц n и 0 когда пользователь продолжит пользоваться сайтом.

Тогда матрица ошибок будет выглядеть как показано в таблице 3.

Таблица 3. Матрица ошибок

,

,

True Positive (TP)

False Positive (FP)

False Negative (FN)

True Negative (TN)

- значение которое выдал алгоритм, - истинное значение метки. Таким есть четыре варианта ответов алгоритма:

– True Postive: алгоритм посчитал что пользователь перестанет пользоватьс продуктом и пользователь перестал

– True Negative: алгоритм посчитал что пользователь продолжит пользоваться продуктом и он продолжил

– False Positive: алгоритм посчитал что пользователь перестанет пользоватьс продуктом продуктом, но ошибся

– False Negative: алгоритм посчитал что пользователь продолжит пользоваться продуктом, но ошибся

Метрики оценки качества бинарной классификации основываются на данных матрицы ошибок.

Самой простой и интуитивно понятной метрикой является accuracy - количество верно классифицированных примеров, поделённое на общее количество примеров.

,

Но метрика accuracy плохо отображает результаты классификации в нашем случае, так как классы несбалансированные.

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

F-мера - гармоническое среднее точности и полноты.

,

,

,

Для вычисления мультиклассовой f-меры вычисляются бинарные f-меры для каждого из классов, текущий класс становится положительным классом, а все остальные отрицательными. Потом эти f-меры усредняются с помощью одного из трёх методов:

1. Макро-усреднение находит f-меры для каждого из классов и вычисляет их невзвешенное среднее. Всем классам присваивается одинаковый вес, не учитывая их размер

2. Взвешенное усреднение - находит f-меры для каждого из классов и вычисляет их среднее, взвешенное по количеству примеров в классе. Всем классам присваивается одинаковый вес, не учитывая их размер.

3. Микро-усреднение находит общее количество истинно положительных примеров, ложно положительных примеров и ложно отрицательных примеров для каждого из классов и вычисляет полноту, точность и f-меру, используя эти показатели

Для тестов модель градиентного бустинга над решающими деревьями и модель долгой краткосрочной памяти обучалась на периоде с сентября по ноябрь включительно и прогнозировала отток на декабрь 2018-го года.

Использовались данные 22911-ти пользователей, из которых на декабрь 2018-го года 6290 человека вошли в отток, а 16621 продолжили пользоваться продуктом. Результаты тестов представлены в таблице 4.

Таблица 4. Резульаты тестов моделей Catboost и LSTM

Model

Accuracy

Precision

Recall

F-score

Catboost

0.80

0.66

0.70

0.68

LSTM

0.83

0.87

0.64

0.74

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

3.3 Рекомендательная система

Как правило рекомендательная система -- это некоторая программа, которая пытается предсказать желание и потребности пользователи и предложить пользователю наиболее релевантный ему продукт. В случае издания «Ведомости» таким продуктом являются статьи, а пользователями посетители сайта. Новые статьи отображаются в ленте сайта и рекомендовать их нет особого смысла, так как пользователь и так их видит. Больший интерес представляет рекомендация пользователю старых статей, которые уже перестали показываться в ленте и при этом не были прочитаны пользователем, но исходя из анализа его предыдущих прочтений, с большой долей вероятности заинтересуют его.

Реализованная в данном разделе рекомендательная система во многом опирается на идеи, описанные в статье про рекомендательную систему New York Times, про которую было написано ранее, но при её разработке учитывались вычислительные мощности и нужды издания «Ведомости».

Построенная рекомендательная система строит рекомендацию комбинируя результаты двух рекомендательных моделей user based и content based.

Задача user based модели заключается в поиске для каждого пользователя издания «Ведомости» пользователей со схожими интересами. Модель строится на предположении о том, что в будущем пользователю с высокой долей вероятности будут интересны статьи, которые прочтут пользователи, читавшие те же статьи в прошлом.

Определить меру сходства между прочтениями двух пользователя позволяет коэффициент Жаккара:

,

Где - количество статей, прочитанных первым пользователей, - количество статей, прочитанных вторым пользователем, - количество статей общих, прочитанных и первым и вторым пользователем. Коэффициент Жаккара будет равен единице, когда прочтения двух пользователей абсолютно одинаковые, а когда нет ни одной одинаковой прочитанной статьи, то нулю.

Алгоритм user based модели

1. Сбор данных о прочтениях пользователей

SQL запросом к базе поведенческих данных издания «Ведомости» выгрузить из базы список всех прочитанных статей, по каждому пользователю за последний месяц, с параметрами user_id и doc_id, где user_id - уникальный идентификатор пользователя, а doc_id - уникальный идентификатор статьи.

2. Матрица схожести интересов пользователей

Рассчитать матрицу схожести пользователей, где по оси X и Y находятся user_id, а на пересечении двух user_id посчитанный коэффициент Жаккара.

3. Список десяти наиболее похожих пользователей

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

Задача content based модели заключается в поиске для каждого пользователя статей с теми тематиками, которые были у статей, прочитанных пользователем ранее. Тематика текстов определяется, используя латентное размещение Дирихле. Латентное размещение Дирихле - это генеративная вероятностная модель, которая основывается на идее, что каждый текст можно представить, как набор латентных тематик и каждое слово в тексте порождено из одного из этих наборов латентных тематик. К примеру, пусть в нашей модели есть тематики классифицируемые как «относящиеся к выборам» и «относящиеся к автомобилям» и каждая из тематик обладает вероятностью генерировать слова, например слова «избиратель», «дебаты» и «кандидат» будут иметь высокую вероятность в тематике «относящиеся к политике», а, например, служебные слова будут иметь приблизительно одинаковую вероятность в обоих тематиках.

...

Подобные документы

  • Совершенствование технологий записи и хранения данных. Специфика современных требований к переработке информационных данных. Концепция шаблонов, отражающих фрагменты многоаспектных взаимоотношений в данных в основе современной технологии Data Mining.

    контрольная работа [565,6 K], добавлен 02.09.2010

  • Проблемы оценки клиентской базы. Big Data, направления использования. Организация корпоративного хранилища данных. ER-модель для сайта оценки книг на РСУБД DB2. Облачные технологии, поддерживающие рост рынка Big Data в информационных технологиях.

    презентация [3,9 M], добавлен 17.02.2016

  • Описание функциональных возможностей технологии Data Mining как процессов обнаружения неизвестных данных. Изучение систем вывода ассоциативных правил и механизмов нейросетевых алгоритмов. Описание алгоритмов кластеризации и сфер применения Data Mining.

    контрольная работа [208,4 K], добавлен 14.06.2013

  • Основы для проведения кластеризации. Использование Data Mining как способа "обнаружения знаний в базах данных". Выбор алгоритмов кластеризации. Получение данных из хранилища базы данных дистанционного практикума. Кластеризация студентов и задач.

    курсовая работа [728,4 K], добавлен 10.07.2017

  • Классификация задач DataMining. Создание отчетов и итогов. Возможности Data Miner в Statistica. Задача классификации, кластеризации и регрессии. Средства анализа Statistica Data Miner. Суть задачи поиск ассоциативных правил. Анализ предикторов выживания.

    курсовая работа [3,2 M], добавлен 19.05.2011

  • Data mining, developmental history of data mining and knowledge discovery. Technological elements and methods of data mining. Steps in knowledge discovery. Change and deviation detection. Related disciplines, information retrieval and text extraction.

    доклад [25,3 K], добавлен 16.06.2012

  • Изучение возможностей AllFusion ERwin Data Modeler и проектирование реляционной базы данных (БД) "Санатория" на основе методологии IDEF1x. Определение предметной области, основных сущностей базы, их первичных ключей и атрибутов и связи между ними.

    лабораторная работа [197,5 K], добавлен 10.11.2009

  • Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.

    курсовая работа [3,9 M], добавлен 22.10.2012

  • Понятие информационных систем и принципы их проектирования. Изучение различных методов извлечения знаний, построение оптимальной информационной системы Data Mining, позволяющей разбивать набор данных, представленных реляционными базами данных на кластеры.

    аттестационная работа [4,7 M], добавлен 14.06.2010

  • A database is a store where information is kept in an organized way. Data structures consist of pointers, strings, arrays, stacks, static and dynamic data structures. A list is a set of data items stored in some order. Methods of construction of a trees.

    топик [19,0 K], добавлен 29.06.2009

  • Перспективные направления анализа данных: анализ текстовой информации, интеллектуальный анализ данных. Анализ структурированной информации, хранящейся в базах данных. Процесс анализа текстовых документов. Особенности предварительной обработки данных.

    реферат [443,2 K], добавлен 13.02.2014

  • Роль информации в мире. Теоретические основы анализа Big Data. Задачи, решаемые методами Data Mining. Выбор способа кластеризации и деления объектов на группы. Выявление однородных по местоположению точек. Построение магического квадранта провайдеров.

    дипломная работа [2,5 M], добавлен 01.07.2017

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

    презентация [960,5 K], добавлен 09.12.2013

  • Історія виникнення комерційних додатків для комп'ютеризації повсякденних ділових операцій. Загальні відомості про сховища даних, їх основні характеристики. Класифікація сховищ інформації, компоненти їх архітектури, технології та засоби використання.

    реферат [373,9 K], добавлен 10.09.2014

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

    курсовая работа [322,5 K], добавлен 14.03.2009

  • Определение программы управления корпоративными данными, ее цели и предпосылки внедрения. Обеспечение качества данных. Использование аналитических инструментов на базе технологий Big Data и Smart Data. Фреймворк управления корпоративными данными.

    курсовая работа [913,0 K], добавлен 24.08.2017

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

    курсовая работа [527,2 K], добавлен 28.05.2009

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

    контрольная работа [1,5 M], добавлен 11.01.2016

  • Резервные базы данных под управлением Oracle Data Guard. Создание физической резервной базы. Защита резервных копий баз данных и базы данных разработчиков. Восстановление базы данных на удаленной машине. Стратегия резервирования и восстановления.

    дипломная работа [499,7 K], добавлен 04.06.2013

  • Разработка информационной системы управления, ориентированной на учет закупленного товара, работу с историческими данными компании и анализ данных для принятия стратегически верных решений. Хранилище данных в 3NF Билла Инмона. Компоненты Data Vault.

    дипломная работа [3,6 M], добавлен 22.09.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.