Периодически мне задают вопросы по технологии Data Mining в Microsoft SQL Server Analysis Services, в частности, что это за технология Data Mining, какие алгоритмы реализованы в решении Microsoft, в чем особенности решения, какие есть возможности расширения. В связи с этим решил написать в своем блоге небольшую заметку на эту тему.
Итак, Data Mining («добыча данных», англ.) – это технологии анализа больших объемов данных для обнаружения (очень сильно) скрытых закономерностей. Это достаточно молодая технология (возраст менее 20 лет), но эффективные алгоритмы были разработаны в результате исследования баз данных, хотя использует комбинацию давно известных методов статистики и теории вероятности.
Наиболее типичные примеры использования технологии Data Mining:
- поиск прибыльных клиентов;
- понимание потребностей пользователей;
- упреждение смены клиентов;
- предсказание продаж;
- построение эффективных маркетинговых кампаний;
- обнаружение и предотвращение мошенничества;
- исправление данных в процессе ETL.
Процесс интеллектуального анализа данных состоит из следующих шагов.
1. Создаем модель добычи данных с использованием определенного алгоритма, настроенная на некоторую входную выборку данных.
2. С помощью некоторых тренировочных данных (в которых известны как исходные атрибуты, так и те атрибуты, которые мы собираемся предсказывать в будущем) производим обучение модели добычи данных.
3. После обучения на вход модели добычи данных можно подавать предсказываемые данные (в которых неизвестны интересующие нас атрибуты, значение которых мы собираемся предсказать); в результате работы алгоритма будут с определенной вероятностью предсказаны неизвестные атрибуты.
Создание модели добычи данных может производиться с использованием инструментов: Business Intelligence Development Studio, Microsoft Excel, Microsoft Visio, SQL Server Management Studio. SQL Server поддерживает построение моделей добычи данных как на реляционных, так и на OLAP-источниках данных.
Использование (отображение) результатов работы моделей добычи данных может производиться с использованием Microsoft Excel, Microsoft Visio, SQL Server Reporting Services или разрабатываемого вами приложения (через средства OLE DB, ADOMD, XMLA, AMO).
Модель добычи данных может использовать для решения одной задачи различные альтернативные алгоритмы.
В SQL Server 2008 (Enterprise Edition) содержатся следующие алгоритмы интеллектуального анализа данных:
- алгоритм взаимосвязей;
- алгоритм кластеризации;
- алгоритм дерева принятия решений;
- алгоритм линейной регрессии;
- алгоритм логистической регрессии;
- упрощенный алгоритм Байеса;
- алгоритм нейронной сети;
- алгоритм кластеризации последовательностей;
- алгоритм временных рядов.
Подробную информацию об алгоритмах можно прочитать на ресурсе Microsoft Books Online.
Примеры интеллектуального анализа данных можно посмотреть в записи следующего доклада.
Компоненты интеллектуального анализа данных SQL Server 2005/2008 содержат множество программных интерфейсов (API), которые можно использовать для включения функций интеллектуального анализа данных в приложения.
Из управляемого кода .NET можно использовать:
- AMO (Analysis Management Objects);
- ADOMD.NET (для клиентских приложений);
- ADOMD Server (для хранимых процедур на уровне сервера).
Из родного кода C++ можно использовать «OLE DB for Data Mining».
Для работы с Data Mining через Интернет можно использовать интерфейсы ASP.NET, .NET и XML для анализа (XMLA) напрямую через HTTP.
В собственных приложениях вы также можете использовать стандартные средства отображения моделей интеллектуального анализа данных (Data Mining Viewers), которые используются в Business Intelligence Development Studio и SQL Management Studio. Соответствующие управляющие элементы можно загрузить по этой ссылке.
Аналитические сервисы SQL Server 2005 Analysis Services имеют родной доступ ко всем объектам с использованием веб-сервисов через XML для анализа (XMLA). Таким образом, любая модель добычи данных может быть реализована в виде веб-сервиса.
Поддержка XML для анализа (XMLA) в SQL Server Data Mining позволяет получать доступ к своим функциям через SOAP-протоколы от клиентов, построенных не на платформе Windows.
В SQL Server 2005/2008 можно подключать собственные алгоритмы и средства визуализации для собственных или стандартных (встроенных) алгоритмов.
На сайте Microsoft доступно описание подключения алгоритмов интеллектуального анализа данных, а на сервере sqlserverdatamining.com – руководство с примерами кода.
Пример дополнительного алгоритма визуализации: Support Vector Machines for SQL Server Data Mining.
Интеллектуальный анализ текста (Text mining) производится в два шага.
Сначала необходимо использовать трансформации интеллектуального анализа текста (Term Extraction and Term Lookup) в Integration Services для построения словаря и извлечения ключевых слов и фраз из исходных текстовых данных в реляционные таблицы.
Вторым шагом необходимо применить алгоритмы интеллектуального анализа данных в Analysis Services непосредственно для анализа полученных данных.
Полное описание процесса интеллектуального анализа текста находится на ресурсе SQLServerDataMining.com.
Ссылки
Официальная информация от Microsoft:
- Алгоритмы интеллектуального анализа данных SSAS;
- Data Mining на сайте Microsoft SQL Server 2008 на английском языке;
- SQL Server Books Online на русском языке;
- Data Mining Add-Ins for Office 2007.
Онлайн-примеры DM находятся на ресурсе SQLServerDataMining.com, наполнением которого занимается команда разработки SQL Server Data Mining. Примеры доступны в разделе Live!Samples, а код примеров можно скачать в разделе Downloads.
Примеры проектов на сайте Codeplex: Microsoft SSAS Samples (OLAP, Data Mining, Administration)
Прочие веб-касты на английском:
- TechNet Webcast: 24 Hours of SQL Server 2008: Data Mining (Level 200);
- TechNet Webcast: Mining for Quality: Apply Adaptive Data Quality with SQL Server Data Mining (Level 200);
- TechNet Webcast: Preparing Data for Use with SQL Server Data Mining (Level 200);
- TechNet Webcast: Mining for Quality: Apply Adaptive Data Quality with SQL Server Data Mining (Level 200);
- TechNet Webcast: Mastering Time Series Prediction with SQL Server 2008 Data Mining (Level 300);
- TechNet Webcast: Building and Validating Advanced Mining Models with SQL Server 2008 Data Mining (Level 200);
- MSDN Webcast: Extending and Customizing SQL Server Data Mining (Level 300)
- Predictive Intelligence to Create Smarter KPIs (Level 200);
- Understand SQL Server Data Mining Add-ins for the 2007 Office System (Level 200);
- Data Mining Add-ins for the 2007 Office System.
Видео-записи на русском языке:
- Косяков Иван. Обзор SQL Server Analysis Services 2008 (про Data Mining – ровно с середины видео-записи);
- Косяков Иван. Анализ скрытых закономерностей данных c помощью SQL Server 2008 Data Mining;
- Косяков Иван. Что такое Data Mining в SQL Server 2008.
Форумы:
- MSDN: All questions and discussions related to data-mining in SQL Server;
- Форум по технологиям OLAP и DWH на сайте SQL.RU.
Блоги:
- Data Mining Newsletter;
- JamieMac’s WebLog;
- Bogdan Crivat’s WebLog;
- Donald Farmer: Foraging in the Data Forest;
- Блог Ивана Косякова о Microsoft Business Intelligence.
Сообщества:
- Russian Business Intelligence User Group, PASS Chapter
Filed under: Ответы на вопросы | Tagged: Data Mining, SSAS | 1 Comment »