Припишите недостающие данные с помощью метода ближайшего соседа
knnimpute(
Data
)
knnimpute(Data
, k
)
knnimpute(..., 'Distance', DistanceValue
,
...)
knnimpute(..., 'DistArgs', DistArgsValue
,
...)
knnimpute(..., 'Weights', WeightsValues
,
...)
knnimpute(..., 'Median', MedianValue
,
...)
Data | Матрица |
k | Положительное целое число, задающее количество самых близких соседей, используется |
knnimpute(
замены Data
)NaN
s в Data
с соответствующим значением из столбца ближайшего соседа. Столбец ближайшего соседа является самым близким столбцом в Евклидовом расстоянии. Если соответствующим значением из столбца ближайшего соседа является также NaN
, следующий самый близкий столбец используется.
knnimpute(
замены Data
, k
)NaN
s в Data
со взвешенным средним k
столбцы ближайшего соседа. Веса обратно пропорциональны расстояниям от соседних столбцов.
вызывает knnimpute(..., 'PropertyName', PropertyValue, ...)
knnimpute
с дополнительными свойствами, которые используют имя свойства / пары значения свойства. Можно задать одно или несколько свойств в любом порядке. Каждый PropertyName
должен быть заключен в одинарные кавычки и нечувствительный к регистру. Это имя свойства / пары значения свойства следующие:
knnimpute(..., 'Distance',
вычисляет столбцы ближайшего соседа с помощью метрики расстояния DistanceValue
,
...)distfun
. Выбор для DistanceValue
:
'euclidean' | Евклидово расстояние (значение по умолчанию). |
'seuclidean' | Стандартизированное Евклидово расстояние — каждая координата в сумме квадратов обратно пропорционально взвешивается демонстрационным отклонением той координаты. |
'cityblock' | Расстояние городского квартала. |
'mahalanobis' | Расстояние Mahalanobis. |
'minkowski' | Расстояние Минковскего с экспонентой 2. |
'cosine' | Один минус косинус включенного угла. |
'correlation' | Один минус корреляция выборки между наблюдениями, обработанными как последовательности значений. |
'hamming' | Расстояние Хемминга — процент координат, которые отличаются. |
'jaccard' | Один минус коэффициент Jaccard — процент ненулевых координат, которые отличаются. |
'chebychev' | Расстояние Чебычева (максимум координируют различие). |
указатель на функцию | Указатель на функцию расстояния, заданное использование @ , например, @distfun . |
Дополнительную информацию см. в pdist
.
knnimpute(..., 'DistArgs',
аргументы передач (DistArgsValue
,
...)
) к функциональному DistArgsValue
distfun
.
может быть одним значением или массивом ячеек значений.DistArgsValue
knnimpute(..., 'Weights',
позволяет вам задать веса, используемые в вычислении взвешенного среднего. WeightsValues
,
...)w
должен быть вектором длины k
.
knnimpute(..., 'Median',
то, когда MedianValue
,
...)MedianValue
является true
, использует медиану k
самые близкие соседи вместо взвешенного среднего.
A = [1 2 5;4 5 7;NaN -1 8;7 6 0] A = 1 2 5 4 5 7 NaN -1 8 7 6 0
Обратите внимание на то, что A(3,1) = NaN
. Поскольку столбец 2 является самым близким столбцом к столбцу 1 в Евклидовом расстоянии, knnimpute
приписывает запись (3,1)
столбца 1, чтобы быть соответствующей записью столбца 2, который является -1
.
knnimpute(A) ans = 1 2 5 4 5 7 -1 -1 8 7 6 0
Следующий пример загружает набор данных yeastdata
и приписывает отсутствующие значения в массиве yeastvalues
:
load yeastdata % Remove data for empty spots emptySpots = strcmp('EMPTY',genes); yeastvalues(emptySpots,:) = []; genes(emptySpots) = []; % Impute missing values imputedValues = knnimpute(yeastvalues);
[1] Скорость, T. (2003). Статистический анализ микроданных массива экспрессии гена (Chapman & Hall/CRC).
[2] Hastie, T., Tibshirani, R., Шерлок, G., Эйсен, M., Браун, P. и Ботштайн, D. (1999). “Приписывая недостающие данные для массивов экспрессии гена”, Технический отчет, Деление Биостатистики, Стэнфордский университет.
[3] Troyanskaya, O., Кантор, M., Шерлок, G., Браун, P., Hastie, T., Tibshirani, R., Ботштайн, D. и Олтмен, R. (2001). Методы оценки отсутствующего значения для микромассивов DNA. Биоинформатика 17 (6), 520–525.
isnan
| knnclassify
| nanmean
| nanmedian
| pdist