Методы дискретизации (Интеллектуальный анализ данных)
Для правильной работы некоторых алгоритмов, используемых для создания моделей интеллектуального анализа данных в 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. Создание моделей нейронной сети и логистической регрессии (учебник по интеллектуальному анализу данных промежуточного уровня).
См. также:
Типы содержимого (интеллектуальный анализ данных)
Типы содержимого (расширения интеллектуального анализа данных)
Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Структуры интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Типы данных (интеллектуальный анализ данных)
Столбцы структуры интеллектуального анализа данных
Распределения столбцов (интеллектуальный анализ данных)