whiten#
- scipy.cluster.vq.whiten(obs, check_finite=None)[источник]#
Нормализовать группу наблюдений на основе каждого признака.
Перед запуском k-means полезно масштабировать каждое измерение признаков набора наблюдений по его стандартному отклонению (т.е. «отбелить» его - как в «белом шуме», где каждая частота имеет равную мощность). Каждый признак делится на своё стандартное отклонение по всем наблюдениям, чтобы придать ему единичную дисперсию.
- Параметры:
- obsndarray
Каждая строка массива представляет собой наблюдение. Столбцы — это признаки, наблюдаемые в каждом наблюдении:
# f0 f1 f2 obs = [[ 1., 1., 1.], #o0 [ 2., 2., 2.], #o1 [ 3., 3., 3.], #o2 [ 4., 4., 4.]] #o3
- check_finitebool, необязательно
Проверять ли, что входные матрицы содержат только конечные числа. Отключение может дать прирост производительности, но может привести к проблемам (сбоям, незавершению), если входные данные содержат бесконечности или NaN. По умолчанию: True для активных бэкендов и False для ленивых.
- Возвращает:
- результатndarray
Содержит значения в obs масштабируется стандартным отклонением каждого столбца.
Примечания
whitenимеет экспериментальную поддержку совместимых с Python Array API Standard бэкендов в дополнение к NumPy. Пожалуйста, рассмотрите тестирование этих функций, установив переменную окруженияSCIPY_ARRAY_API=1и предоставление массивов CuPy, PyTorch, JAX или Dask в качестве аргументов массива. Поддерживаются следующие комбинации бэкенда и устройства (или других возможностей).Библиотека
CPU
GPU
NumPy
✅
н/д
CuPy
н/д
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
н/д
См. Поддержка стандарта array API для получения дополнительной информации.
Примеры
>>> import numpy as np >>> from scipy.cluster.vq import whiten >>> features = np.array([[1.9, 2.3, 1.7], ... [1.5, 2.5, 2.2], ... [0.8, 0.6, 1.7,]]) >>> whiten(features) array([[ 4.17944278, 2.69811351, 7.21248917], [ 3.29956009, 2.93273208, 9.33380951], [ 1.75976538, 0.7038557 , 7.21248917]])