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