k-ближайший шаблон классификатора соседей
возвращает k-ближайший соседний шаблон учащегося (KNN), подходящий для обучающих ансамблей или мультиклассных моделей кода с исправлением ошибок (ECOC).t = templateKNN()
Если указан шаблон по умолчанию, то программа использует значения по умолчанию для всех входных аргументов во время обучения.
Определить t как ученик в fitcensemble или fitcecoc.
создает шаблон с дополнительными параметрами, заданными одним или несколькими аргументами пары имя-значение.t = templateKNN(Name,Value)
Например, можно указать метод поиска ближайшего соседа, число ближайших соседей для поиска или метрику расстояния.
При отображении t в окне команд все параметры отображаются пустыми ([]), за исключением тех, которые указаны с помощью аргументов пары имя-значение. Во время обучения программа использует значения по умолчанию для пустых параметров.
Создание не используемого по умолчанию k-ближайшего соседнего шаблона для использования в 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-ближайшего соседнего шаблона для использования в 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' - Использовать случайный тайбрейкер среди связанных групп.
По умолчанию связи возникают, когда несколько классов имеют одинаковое количество ближайших точек среди 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' и допустимое имя метрики расстояния или дескриптор функции. Имена допустимых метрик расстояния зависят от выбора метода поиска соседей (см. 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 - шаблон классификации kNNШаблон классификации kNN, подходящий для обучающих ансамблей или многоклассовых моделей с исправлением ошибок (ECOC), возвращаемый в качестве объекта шаблона. Проход t кому fitcensemble или fitcecoc указание способа создания классификатора KNN для ансамбля или модели ECOC соответственно.
При отображении t в окне команд все неустановленные параметры отображаются пустыми ([]). Однако во время обучения программа заменяет пустые опции соответствующими значениями по умолчанию.
ClassificationKNN | ExhaustiveSearcher | fitcecoc | fitcensemble
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.