k - шаблон классификатора по ближайшему соседу
возвращает шаблон k-ближайших соседей (KNN), подходящий для обучения ансамблей или моделей выхода кода с исправлением ошибок (ECOC) мультикласса.t = templateKNN()
Если вы задаете шаблон по умолчанию, то во время обучения программное обеспечение использует значения по умолчанию для всех входных параметров.
Задайте t как учащийся в fitcensemble или fitcecoc.
создает шаблон с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение".t = templateKNN(Name,Value)
Например, можно задать метод поиска по ближайшему соседу, количество ближайших соседей для поиска или метрику расстояния.
Если вы отображаете t в Командном окне, затем все опции появляются пустыми ([]), кроме тех, которые вы задаете используя аргументы пары "имя-значение". Во время обучения программа использует значения по умолчанию для пустых опций.
Создайте шаблон k-ближайших соседей nondefault для использования в fitcensemble.
Загрузите набор данных радужки Фишера.
load fisheririsСоздайте шаблон для поиска по 5 ближайшему соседу и укажите, чтобы стандартизировать предикторы.
t = templateKNN('NumNeighbors',5,'Standardize',1)
t =
Fit template for classification KNN.
NumNeighbors: 5
NSMethod: ''
Distance: ''
BucketSize: ''
IncludeTies: []
DistanceWeight: []
BreakTies: []
Exponent: []
Cov: []
Scale: []
StandardizeData: 1
Version: 1
Method: 'KNN'
Type: 'classification'
Все свойства объекта шаблона пусты, кроме NumNeighbors, Method, StandardizeData, и Type. Когда вы задаете t как учащийся, программа заполняет пустые свойства соответствующими значениями по умолчанию.
Задайте t как слабый ученик классификационного ансамбля.
Mdl = fitcensemble(meas,species,'Method','Subspace','Learners',t);
Отображение ошибки неправильной классификации в выборке (повторная замена).
L = resubLoss(Mdl)
L = 0.0600
Создайте шаблон k-ближайших соседей nondefault для использования в fitcecoc.
Загрузите набор данных радужки Фишера.
load fisheririsСоздайте шаблон для поиска по 5 ближайшему соседу и укажите, чтобы стандартизировать предикторы.
t = templateKNN('NumNeighbors',5,'Standardize',1)
t =
Fit template for classification KNN.
NumNeighbors: 5
NSMethod: ''
Distance: ''
BucketSize: ''
IncludeTies: []
DistanceWeight: []
BreakTies: []
Exponent: []
Cov: []
Scale: []
StandardizeData: 1
Version: 1
Method: 'KNN'
Type: 'classification'
Все свойства объекта шаблона пусты, кроме NumNeighbors, Method, StandardizeData, и Type. Когда вы задаете t как учащийся, программа заполняет пустые свойства соответствующими значениями по умолчанию.
Задайте t в качестве двоичного ученика для многоклассовой модели ECOC.
Mdl = fitcecoc(meas,species,'Learners',t);По умолчанию программное обеспечение обучает Mdl использование проекта кодирования один от одного.
Отображение ошибки неправильной классификации в выборке (повторная замена).
L = resubLoss(Mdl,'LossFun','classiferror')
L = 0.0467
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'NumNeighbors',4,'Distance','minkowski' задает шаблон классификатора 4 ближайших соседей с помощью измерения расстояния Минковского.'BreakTies' - Алгоритм разрыва связей'smallest' (по умолчанию) | 'nearest' | 'random'Алгоритм разрыва связей, используемый predict метод, если несколько классов имеют одинаковую наименьшую стоимость, заданную как разделенная разделенными запятой парами, состоящая из 'BreakTies' и одно из следующих:
'smallest' - Используйте наименьший индекс среди связанных групп.
'nearest' - Используйте класс с ближайшим соседом среди связанных групп.
'random' - Используйте случайный tiebreaker среди связанных групп.
По умолчанию связи возникают, когда несколько классов имеют одинаковое количество ближайших точек среди K ближайшие соседи.
Пример: 'BreakTies','nearest'
'BucketSize' - Максимальное количество точек данных в узле50 (по умолчанию) | положительное целое значениеМаксимальное количество точек данных в конечном узле kd-дерева, заданное как разделенная разделенными запятой парами, состоящая из 'BucketSize' и положительное целое значение. Этот аргумент значим только тогда, когда NSMethod является 'kdtree'.
Пример: 'BucketSize',40
Типы данных: single | double
'Cov' - Ковариационная матрицаcov(X,'omitrows') (по умолчанию) | положительно определенную матрицу скалярных значенийКовариационная матрица, заданная как разделенная разделенными запятой парами, состоящая из 'Cov' и положительная определенная матрица скалярных значений, представляющих ковариационную матрицу при вычислении расстояния Махаланобиса. Этот аргумент действителен только при 'Distance' является 'mahalanobis'.
Вы не можете одновременно задать 'Standardize' и любой из 'Scale' или 'Cov'.
Типы данных: single | double
'Distance' - Метрика расстояния'cityblock' | 'chebychev' | 'correlation' | 'cosine' | 'euclidean' | 'hamming' | указатель на функцию |...Метрика расстояния, заданная как разделенная разделенными запятой парами, состоящая из 'Distance' и допустимое имя метрики расстояния или указатель на функцию. Допустимые имена метрики расстояния зависят от вашего выбора метода neighbor-searcher (см NSMethod).
NSMethod | Имена метрических расстояний |
|---|---|
exhaustive | Любая метрика расстояния ExhaustiveSearcher |
kdtree | 'cityblock', 'chebychev', 'euclidean', или 'minkowski' |
Эта таблица включает действительные метрики расстояния ExhaustiveSearcher.
| Имена метрических расстояний | Описание |
|---|---|
'cityblock' | Расстояние между блоками. |
'chebychev' | Расстояние Чебычева (максимальное различие координат). |
'correlation' | Один минус выборка линейной корреляции между наблюдениями (рассматривается как последовательности значений). |
'cosine' | Один минус косинус включенного угла между наблюдениями (обрабатывается как векторы). |
'euclidean' | Евклидово расстояние. |
'hamming' | Расстояние Хемминга, процент разных координат. |
'jaccard' | Один минус коэффициент Жаккара, процент ненулевых координат, которые различаются. |
'mahalanobis' | Расстояние Махаланобиса, вычисленное с помощью положительной определенной ковариационной матрицы C. Значение по умолчанию C - выборочная ковариационная матрица X, в расчете на cov(X,'omitrows'). Чтобы задать другое значение для C, используйте 'Cov' аргумент пары "имя-значение". |
'minkowski' | Расстояние Минковского. Экспонента по умолчанию 2. Чтобы задать другую экспоненту, используйте 'Exponent' аргумент пары "имя-значение". |
'seuclidean' | Стандартизированное евклидово расстояние. Каждое различие координат между X и точка запроса масштабируется, что означает деление на значение шкалы S. Значение по умолчанию S - стандартное отклонение, вычисленное из X, S = std(X,'omitnan'). Чтобы задать другое значение для S, используйте Scale аргумент пары "имя-значение". |
'spearman' | Один минус выборки корреляции ранга Спирмана между наблюдениями (рассматриваются как последовательности значений). |
|
Указатель на функцию расстояния. function D2 = distfun(ZI,ZJ) % calculation of distance ...
|
Если вы задаете CategoricalPredictors как 'all', тогда метрика расстояния по умолчанию 'hamming'. В противном случае метрика расстояния по умолчанию является 'euclidean'.
Определения см. в разделе Метрики расстояния.
Пример: 'Distance','minkowski'
Типы данных: char | string | function_handle
'DistanceWeight' - Функция взвешивания расстояний'equal' (по умолчанию) | 'inverse' | 'squaredinverse' | указатель на функциюФункция взвешивания расстояния, заданная как разделенная разделенными запятой парами, состоящая из 'DistanceWeight' и указатель на функцию или одно из значений в этой таблице.
| Значение | Описание |
|---|---|
'equal' | Без взвешивания |
'inverse' | Вес 1/расстояние |
'squaredinverse' | Вес 1/расстояние2 |
| fcn является функцией, которая принимает матрицу неотрицательных расстояний и возвращает матрицу того же размера, содержащую неотрицательные веса расстояний. Для примера, 'squaredinverse' эквивалентно @(d)d.^(-2). |
Пример: 'DistanceWeight','inverse'
Типы данных: char | string | function_handle
'Exponent' - показатель расстояния Минковского2 (по умолчанию) | положительное скалярное значениеПоказатель расстояния Минковского, заданный как разделенная разделенными запятой парами, состоящая из 'Exponent' и положительная скалярная величина значение. Этот аргумент действителен только при 'Distance' является 'minkowski'.
Пример: 'Exponent',3
Типы данных: single | double
'IncludeTies' - Флаг включения галстукаfalse (по умолчанию) | trueФлаг включения галстука, заданный как разделенная разделенными запятой парами, состоящая из 'IncludeTies' и логическое значение, указывающее, predict ли включает все соседи, значения расстояния которых равны Kсамое маленькое расстояние. Если IncludeTies является true, predict включает всех этих соседей. В противном случае predict использует точно K соседи.
Пример: 'IncludeTies',true
Типы данных: logical
'NSMethod' - Метод поиска по ближайшему соседу'kdtree' | 'exhaustive'Метод поиска по ближайшему соседу, заданный как разделенная разделенными запятой парами, состоящая из 'NSMethod' и 'kdtree' или 'exhaustive'.
'kdtree' - Создает и использует kd-дерево для поиска ближайших соседей. 'kdtree' действителен, когда метрика расстояния является одной из следующих:
'euclidean'
'cityblock'
'minkowski'
'chebychev'
'exhaustive' - Использует алгоритм исчерпывающего поиска. При предсказании класса новой точки xnewпрограмма вычисляет значения расстояния от всех точек в X на xnew найти ближайших соседей.
Значение по умолчанию является 'kdtree' когда X имеет 10 или меньше столбцов, X не является разреженным или gpuArray, и метрика расстояния является 'kdtree' тип; в противном случае 'exhaustive'.
Пример: 'NSMethod','exhaustive'
'NumNeighbors' - Количество ближайших соседей для поиска1 (по умолчанию) | положительное целое значениеКоличество ближайших соседей в X поиск для классификации каждой точки при прогнозировании, заданный как разделенная разделенными запятой парами, состоящая из 'NumNeighbors' и положительное целое значение.
Пример: 'NumNeighbors',3
Типы данных: single | double
'Scale' - Шкала расстоянияstd(X,'omitnan') (по умолчанию) | вектор неотрицательных скалярных значенийШкала расстояния, заданная как разделенная разделенными запятой парами, состоящая из 'Scale' и вектор, содержащий неотрицательные скалярные значения с длиной, равной количеству столбцов в X. Каждое различие координат между X и точка запроса масштабируется соответствующим элементом Scale. Этот аргумент действителен только при 'Distance' является 'seuclidean'.
Вы не можете одновременно задать 'Standardize' и любой из 'Scale' или 'Cov'.
Типы данных: single | double
'Standardize' - Флаг для стандартизации предикторовfalse (по умолчанию) | trueФлаг для стандартизации предикторов, заданный как разделенная разделенными запятой парами, состоящая из 'Standardize' и true (1) или false (0).
Если вы задаете 'Standardize',true, затем программное обеспечение центрирует и масштабирует каждый столбец данных предиктора (X) средним значением столбца и стандартным отклонением, соответственно.
Программа не стандартизирует категориальные предикторы и выдает ошибку, если все предикторы категоричны.
Вы не можете одновременно задать 'Standardize',1 и любой из 'Scale' или 'Cov'.
Это хорошая практика, чтобы стандартизировать данные предиктора.
Пример: 'Standardize',true
Типы данных: logical
t - k шаблон классификации NNk шаблон классификации NN, подходящий для обучения ансамблей или многоклассовых моделей выходного кода с исправлением ошибок (ECOC), возвращаемый в качестве объекта шаблона. Передайте t кому fitcensemble или fitcecoc чтобы указать, как создать классификатор KNN для модели ансамбля или ECOC, соответственно.
Если вы отображаете t в Командное окно, затем все, не заданные опции появляются пустыми ([]). Однако во время обучения программа заменяет пустые опции соответствующими значениями по умолчанию.
ClassificationKNN | ExhaustiveSearcher | fitcecoc | fitcensemble
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.