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);
Отобразите в выборке (перезамена) misclassification ошибка.
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
использование одного по сравнению с одного кодирующего проекта.
Отобразите в выборке (перезамена) misclassification ошибка.
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'
— Максимальные точки данных в узле
(значение по умолчанию) | положительное целочисленное значениеМаксимальное количество точек данных в вершине kd-дерева в виде разделенной запятой пары, состоящей из 'BucketSize'
и положительное целочисленное значение. Этот аргумент значим только когда NSMethod
'kdtree'
.
Пример: 'BucketSize',40
Типы данных: single
| double
'Cov'
— Ковариационная матрицаcov(X,'omitrows')
(значение по умолчанию) | положительная определенная матрица скалярных значенийКовариационная матрица в виде разделенной запятой пары, состоящей из 'Cov'
и положительная определенная матрица скалярных значений, представляющих ковариационную матрицу при вычислении расстояния Mahalanobis. Этот аргумент только допустим когда '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' | Один минус коэффициент Jaccard, процент ненулевых координат, которые отличаются. |
'mahalanobis' | Расстояние 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/distance2 |
| fcn функция, которая принимает матрицу неотрицательных расстояний и возвращает матрицу тот же размер, содержащий неотрицательные веса расстояния. Например, 'squaredinverse' эквивалентно @(d)d.^(-2) . |
Пример: 'DistanceWeight','inverse'
Типы данных: char |
string
| function_handle
'Exponent'
— Экспонента расстояния Минковскего
(значение по умолчанию) | значение положительной скалярной величиныЭкспонента расстояния Минковскего в виде разделенной запятой пары, состоящей из 'Exponent'
и значение положительной скалярной величины. Этот аргумент только допустим когда 'Distance'
'minkowski'
.
Пример: 'Exponent',3
Типы данных: single
| double
'IncludeTies'
— Свяжите флаг включенияfalse
(значение по умолчанию) | true
Свяжите флаг включения в виде разделенной запятой пары, состоящей из 'IncludeTies'
и логическое значение, указывающее, ли predict
включает всех соседей, значения расстояния которых равны K
th наименьшее расстояние. Если IncludeTies
true
, predict
включает всех этих соседей. В противном случае, predict
использование точно K
соседи.
Пример: 'IncludeTies',true
Типы данных: логический
'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'
— Количество самых близких соседей, чтобы найти
(значение по умолчанию) | положительное целочисленное значениеКоличество самых близких соседей в 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
Типы данных: логический
t
— k шаблон классификации NNk шаблон классификации NN, подходящий для учебных ансамблей или моделей мультикласса выходного кода с коррекцией ошибок (ECOC), возвращенных как объект шаблона. Передайте t
к fitcensemble
или fitcecoc
задавать, как создать классификатор KNN для ансамбля или модели ECOC, соответственно.
Если вы отображаете t
к Командному окну, затем все, незаданные опции кажутся пустыми ([]
). Однако программное обеспечение заменяет пустые опции на их соответствующие значения по умолчанию во время обучения.
ClassificationKNN
| ExhaustiveSearcher
| fitcecoc
| fitcensemble
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.