Методы дискретизации (Интеллектуальный анализ данных)
Некоторые алгоритмы, используемые для создания моделей интеллектуального анализа данных в службах SQL Server Службы Analysis Services, для своей работы требуют наличия специальных типов содержимого. Например, упрощенный алгоритм Байеса (Майкрософт) не может использовать непрерывные столбцы на входе и прогнозировать непрерывные значения. Кроме того, некоторые столбцы могут содержать так много значений, что алгоритм будет не в состоянии легко выявить содержательные закономерности в данных, из которых создается модель.
В таких случаях можно дискретизировать данные в столбцах, чтобы воспользоваться алгоритмами для выработки модели интеллектуального анализа данных. Дискретизация — это процесс разделения значений на сегменты, результатом которого является ограниченное число допустимых состояний. С самими сегментами обращаются как с упорядоченными дискретными значениями. Можно дискретизировать как численные, так и строковые столбцы.
Существует несколько способов дискретизации данных. Если в решении по интеллектуальному анализу данных используются реляционные данные, можно ограничить число сегментов, используемых для группирования данных, задав свойство DiscretizationBucketCount. Число сегментов по умолчанию равно 5.
Если в решении по интеллектуальному анализу данных используются данные из куба оперативной аналитической обработки (OLAP), то алгоритм интеллектуального анализа данных автоматически вычислит число создаваемых сегментов по следующей формуле, где n — число уникальных значений данных в столбце:
Number of Buckets = sqrt(n)
Если не нужно, чтобы службы Службы Analysis Services вычисляли число сегментов, можно воспользоваться свойством DiscretizationBucketCount, чтобы вручную указать число сегментов.
Следующая таблица описывает методы, которые можно использовать для дискретизации данных в службах Службы Analysis Services.
Метод дискретизации |
Описание |
---|---|
AUTOMATIC |
Службы Службы Analysis Services определяют, какой метод дискретизации использовать. |
CLUSTERS |
Алгоритм разделяет данные на группы путем создания выборки обучающих данных, инициализации по ряду случайных точек и дальнейшего запуска несколько итераций алгоритма кластеризации (Майкрософт) с помощью метода кластеризации с максимизацией ожидания (EM). Метод CLUSTERS полезен, так как он работает с любой кривой распределения. Однако он требует большего времени на обработку, чем другие методы дискретизации. Этот метод можно использовать только для числовых столбцов. |
EQUAL_AREAS |
Алгоритм делит данные на группы, содержащие равное число значений. Этот метод лучше всего использовать для кривых нормального распределения, но он не работает, если распределение содержит большое число значений, встречающихся в узкой группе непрерывных данных. Например, если половина элементов имеет значение цены 0, то половина данных окажется в одной точке кривой. При таком распределении, этот метод разрушит данные в попытке установить равномерную дискретизацию по нескольким областям. Это вызовет неточное представление данных. |
Примечания
Можно использовать метод EQUAL_AREAS для дискретизации строк.
Метод CLUSTERS использует случайную выборку из 1 000 записей для дискретизации данных. Используйте метод EQUAL_AREAS, если не нужно, чтобы алгоритм отбирал данные.
В учебнике по модели интеллектуального анализа данных с использованием нейронной сети показана настройка дискретизации. Дополнительные сведения см. в разделе Занятие 5. Построение моделей нейронной сети и логистической регрессии (учебник по интеллектуальному анализу данных — средний уровень).
См. также