Поделиться через


Методы дискретизации (Интеллектуальный анализ данных)

Для правильной работы некоторых алгоритмов, используемых для создания моделей интеллектуального анализа данных в 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, то половина данных окажется в одной точке кривой. При таком распределении, этот метод разрушит данные в попытке установить равномерную дискретизацию по нескольким областям. Это вызовет неточное представление данных.

Комментарии

См. также:

Типы содержимого (интеллектуальный анализ данных)
Типы содержимого (расширения интеллектуального анализа данных)
Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Структуры интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Типы данных (интеллектуальный анализ данных)
Столбцы структуры интеллектуального анализа данных
Распределения столбцов (интеллектуальный анализ данных)