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


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

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

Для правильной работы некоторых алгоритмов, используемых для создания моделей интеллектуального анализа данных в SQL Server SQL Server Analysis Services требуются определенные типы контента. Например, упрощенный алгоритм Байеса (Майкрософт) не может использовать непрерывные столбцы в качестве входных данных и не может прогнозировать непрерывные значения. Кроме того, некоторые столбцы могут содержать так много значений, что алгоритм будет не в состоянии легко выявить содержательные закономерности в данных, из которых создается модель.

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

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

Если в решении интеллектуального анализа данных используются данные из куба оперативной аналитической обработки (OLAP), то алгоритм интеллектуального анализа данных автоматически вычислит число создаваемых сегментов по следующей формуле, где n — это число уникальных значений данных в столбце:

Number of Buckets = sqrt(n)

Если вы не хотите, чтобы SQL Server Analysis Services вычисляли количество контейнеров, можно использовать DiscretizationBucketCount свойство , чтобы вручную указать количество контейнеров.

В следующей таблице описаны методы, которые можно использовать для дискретизации данных в SQL Server Analysis Services.

Метод дискретизации Описание
АВТОМАТИЧЕСКИ SQL Server Analysis Services определяет используемый метод дискретизации.
КЛАСТЕРОВ Алгоритм разделяет данные на группы путем создания выборки обучающих данных, инициализации по ряду случайных точек и дальнейшего запуска несколько итераций алгоритма кластеризации (Майкрософт) с помощью метода кластеризации с максимизацией ожидания (EM). Метод CLUSTERS полезен, так как он работает с любой кривой распределения. Однако он требует большего времени на обработку, чем другие методы дискретизации.

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

Комментарии

  • Метод EQUAL_AREAS позволяет выполнять дискретизацию строк.

  • Метод CLUSTERS использует случайную выборку из 1 000 записей для дискретизации данных. Если вам не нужно, чтобы алгоритм отбирал данные, выбирайте метод EQUAL_AREAS .

См. также:

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