Прогнозирование меток для наблюдений, не используемых для обучения
возвращает метки классов, предсказанные перекрестно проверенной моделью ECOC, состоящей из моделей линейной классификации Label = kfoldPredict(CVMdl)CVMdl. То есть, для каждого раза, kfoldPredict предсказывает метки классов для наблюдений, которые он выдает, когда он тренируется с использованием всех других наблюдений. kfoldPredict применяет те же данные, что и при создании CVMdl (см. fitcecoc).
Также, Label содержит метки классов для каждой силы регуляризации в моделях линейной классификации, которые составляют CVMdl.
возвращает прогнозируемые метки класса с дополнительными параметрами, заданными одним или несколькими Label = kfoldPredict(CVMdl,Name,Value)Name,Value аргументы пары. Например, укажите метод оценки апостериорной вероятности, схему декодирования или уровень детализации.
CVMdl - Перекрестная проверка модели ECOC, состоящей из моделей линейной классификацииClassificationPartitionedLinearECOC объект моделиПерекрестно проверенная модель ECOC, состоящая из линейных классификационных моделей, указанных как ClassificationPartitionedLinearECOC объект модели. Можно создать ClassificationPartitionedLinearECOC модель с использованием fitcecoc и путем:
Указание любого из аргументов пары перекрестная проверка, имя-значение, например, CrossVal
Установка аргумента пары имя-значение Learners кому 'linear' или шаблон модели линейной классификации, возвращенный templateLinear
Чтобы получить оценки, kfoldPredict применяет те же данные, которые используются для перекрестной проверки модели ECOC (X и Y).
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'BinaryLoss' - Двоичная функция потери ученика'hamming' | 'linear' | 'logit' | 'exponential' | 'binodeviance' | 'hinge' | 'quadratic' | дескриптор функцииДвоичная функция потери ученика, заданная как разделенная запятыми пара, состоящая из 'BinaryLoss' и встроенный дескриптор функции или имени функции потери.
Эта таблица содержит имена и описания встроенных функций, где yj - метка класса для конкретного двоичного ученика (в наборе {-1,1,0}), sj - оценка для наблюдения j, а g (yj, sj) - формула двоичных потерь.
| Стоимость | Описание | Домен оценки | g (yj, sj) |
|---|---|---|---|
'binodeviance' | Биномиальное отклонение | (–∞,∞) | журнал [1 + exp (-2yjsj) ]/[ 2log (2)] |
'exponential' | Показательный | (–∞,∞) | exp (-yjsj )/2 |
'hamming' | Хэмминг | [0,1] или (- ∞,∞) | [1 - знак (yjsj) ]/2 |
'hinge' | Стержень | (–∞,∞) | max (0,1 - yjsj )/2 |
'linear' | Линейный | (–∞,∞) | (1 - yjsj )/2 |
'logit' | Логистический | (–∞,∞) | log [1 + exp (-yjsj) ]/[ 2log (2)] |
'quadratic' | Квадратный | [0,1] | [1-yj (2sj-1)] 2/2 |
Программное обеспечение нормализует двоичные потери так, что потери составляют 0,5, когда yj = 0. Кроме того, программное обеспечение вычисляет средние двоичные потери для каждого класса.
Для пользовательской двоичной функции потери, например, customFunction, укажите его функциональный дескриптор 'BinaryLoss',@customFunction.
customFunction должен иметь эту форму
bLoss = customFunction(M,s)
M - матрица кодирования K-by-L, сохраненная в Mdl.CodingMatrix.
s - вектор 1-by-L строк классификационных баллов.
bLoss - потеря классификации. Этот скаляр агрегирует двоичные потери для каждого учащегося в конкретном классе. Например, можно использовать среднюю двоичную потерю для суммирования потерь по учащимся для каждого класса.
K - количество классов.
L - количество двоичных учеников.
Пример передачи пользовательской двоичной функции потери см. в разделе Прогнозирование меток тестовой выборки модели ECOC с использованием пользовательской двоичной функции потери.
По умолчанию, если все двоичные ученики являются линейными моделями классификации с использованием:
SVM, затем BinaryLoss является 'hinge'
Логистическая регрессия, затем BinaryLoss является 'quadratic'
Пример: 'BinaryLoss','binodeviance'
Типы данных: char | string | function_handle
'Decoding' - Схема декодирования'lossweighted' (по умолчанию) | 'lossbased'Схема декодирования, которая агрегирует двоичные потери, заданная как разделенная запятыми пара, состоящая из 'Decoding' и 'lossweighted' или 'lossbased'. Дополнительные сведения см. в разделе Потери двоичного кода.
Пример: 'Decoding','lossbased'
'NumKLInitializations' - Количество случайных начальных значений0 (по умолчанию) | неотрицательное целое числоЧисло случайных начальных значений для аппроксимации задних вероятностей минимизацией расходимости Куллбэка-Лейблера, определяемых как пара, разделенная запятыми, состоящая из 'NumKLInitializations' и неотрицательное целое число.
Чтобы использовать этот параметр, необходимо:
Возвращает четвертый выходной аргумент (Posterior).
Модели линейной классификации, которые составляют модели ECOC, должны использовать учащихся логистической регрессии (то есть CVMdl.Trained{1}.BinaryLearners{1}.Learner должно быть 'logistic').
PosteriorMethod должно быть 'kl'.
Дополнительные сведения см. в разделе Апостериорная оценка с использованием дивергенции Kullback-Leibler.
Пример: 'NumKLInitializations',5
Типы данных: single | double
'Options' - Варианты оценки[] (по умолчанию) | массив структуры, возвращенный statsetОпции оценки, указанные как пара, разделенная запятыми, состоящая из 'Options' и массив структуры, возвращенный statset.
Для вызова параллельных вычислений:
Вам нужна лицензия Parallel Computing Toolbox™.
Определить 'Options',statset('UseParallel',true).
'PosteriorMethod' - Метод оценки апостериорной вероятности'kl' (по умолчанию) | 'qp'Метод оценки апостериорной вероятности, определяемый как разделенная запятыми пара, состоящая из 'PosteriorMethod' и 'kl' или 'qp'.
Для использования этой опции необходимо вернуть четвертый выходной аргумент (Posterior) и модели линейной классификации, которые составляют модели ECOC, должны использовать учащихся логистической регрессии (то есть CVMdl.Trained{1}.BinaryLearners{1}.Learner должно быть 'logistic').
Если PosteriorMethod является 'kl'затем программное обеспечение оценивает мультиклассовые апостериорные вероятности путем минимизации расхождения Куллбэка-Лейблера между предсказанной и ожидаемой апостериорной вероятностями, возвращаемыми двоичными учениками. Дополнительные сведения см. в разделе Задняя оценка с использованием дивергенции Kullback-Leibler.
Если PosteriorMethod является 'qp', то программное обеспечение оценивает мультиклассовые апостериорные вероятности, решая задачу наименьших квадратов с помощью квадратичного программирования. Для использования этого параметра необходима лицензия Optimization Toolbox™. Дополнительные сведения см. в разделе Апостериорная оценка с использованием квадратичного программирования.
Пример: 'PosteriorMethod','qp'
'Verbose' - Уровень детализации0 (по умолчанию) | 1Уровень детализации, указанный как разделенная запятыми пара, состоящая из 'Verbose' и 0 или 1. Verbose управляет количеством диагностических сообщений, отображаемых программой в окне команд.
Если Verbose является 0, то программное обеспечение не отображает диагностические сообщения. В противном случае программа отображает диагностические сообщения.
Пример: 'Verbose',1
Типы данных: single | double
Label - Перекрестная проверка, прогнозируемые метки классаПерекрестная проверка, прогнозируемые метки класса, возвращаемые как категориальный или символьный массив, логическая или числовая матрица или массив ячеек символьных векторов.
В большинстве случаев Label является массивом n-by-L того же типа данных, что и наблюдаемые метки классов (Y) используется для создания CVMdl. (Программное обеспечение рассматривает строковые массивы как массивы ячеек символьных векторов.)
n - количество наблюдений в данных предиктора (X) и L - количество уровней регуляризации в моделях линейной классификации, которые составляют модель ECOC с перекрестной проверкой. То есть Label( - прогнозируемая метка класса для наблюдения i,j)i использование модели ECOC моделей линейной классификации, имеющей силу регуляризации CVMdl.Trained{1}.BinaryLearners{1}.Lambda(.j)
Если Y является массивом символов и L > 1, то Label является массивом ячеек меток классов.
Программа присваивает прогнозируемую метку, соответствующую классу с наибольшими, отрицаемыми, средними двоичными потерями (NegLoss) или, что эквивалентно, наименьшие средние двоичные потери.
NegLoss - Перекрестная проверка, отрицание, средние двоичные потериПерекрестная проверка, отрицание средних двоичных потерь, возвращаемых в виде n-by-K-by-L числовой матрицы или массива. K - количество отдельных классов в данных обучения и столбцах, соответствующих классам в CVMdl.ClassNames. Для n и L см. Label. NegLoss( - отрицательная средняя двоичная потеря для классификации наблюдения i,k,j)i в класс k использование модели линейной классификации, которая имеет силу регуляризации CVMdl.Trained{1}.BinaryLoss{1}.Lambda(.j)
PBScore - Перекрестные оценки, положительные оценкиПерекрестно проверенные положительные оценки класса, возвращенные в виде числового массива n-by-B-by-L. B - количество двоичных учеников в перекрестно проверенной модели ECOC, и столбцы соответствуют двоичным ученикам в CVMdl.Trained{1}.BinaryLearners. Для n и L см. Label. PBScore( - показатель положительного класса двоичного ученика b для классификации наблюдения i,b,j)i в свой положительный класс, используя модель линейной классификации, которая имеет силу регуляризации CVMdl.Trained{1}.BinaryLearners{1}.Lambda(.j)
Если матрица кодирования изменяется по складкам (то есть, если схема кодирования sparserandom или denserandom), то PBScore пуст ([]).
Posterior - Перекрестно проверенные вероятности заднего классаПерекрестно проверенные вероятности заднего класса, возвращенные в виде n-by-K-by-L числового массива. Определения размеров см. в разделе NegLoss. Posterior( - задняя вероятность классификации наблюдения i,k,j)i в класс k использование модели линейной классификации, которая имеет силу регуляризации CVMdl.Trained{1}.BinaryLearners{1}.Lambda(.j)
Чтобы вернуть задние вероятности, CVMdl.Trained{1}.BinaryLearner{1}.Learner должно быть 'logistic'.
Загрузите набор данных NLP.
load nlpdataX является разреженной матрицей данных предиктора, и Y является категориальным вектором меток класса.
Перекрестная проверка модели ECOC моделей линейной классификации.
rng(1); % For reproducibility CVMdl = fitcecoc(X,Y,'Learner','linear','CrossVal','on');
CVMdl является ClassificationPartitionedLinearECOC модель. По умолчанию программное обеспечение реализует 10-кратную перекрестную проверку.
Прогнозировать метки для наблюдений, которые fitcecoc не использовал при обучении складки.
label = kfoldPredict(CVMdl);
Потому что есть одна сила регуляризации в CVMdl, label является столбчатым вектором предсказаний, содержащим столько строк, сколько наблюдений в X.
Создайте матрицу путаницы.
cm = confusionchart(Y,label);

Загрузите набор данных NLP. Транспонируйте данные предиктора.
load nlpdata
X = X';Для простоты используйте метку «others» для всех наблюдений в Y которые не являются 'simulink', 'dsp', или 'comm'.
Y(~(ismember(Y,{'simulink','dsp','comm'}))) = 'others';Создайте шаблон модели линейной классификации, определяющий оптимизацию целевой функции с помощью SpaRSA.
t = templateLinear('Solver','sparsa');
Перекрестная проверка модели ECOC линейных классификационных моделей с использованием пятикратной перекрестной проверки. Укажите, что наблюдения предиктора соответствуют столбцам.
rng(1); % For reproducibility CVMdl = fitcecoc(X,Y,'Learners',t,'KFold',5,'ObservationsIn','columns'); CMdl1 = CVMdl.Trained{1}
CMdl1 =
CompactClassificationECOC
ResponseName: 'Y'
ClassNames: [comm dsp simulink others]
ScoreTransform: 'none'
BinaryLearners: {6x1 cell}
CodingMatrix: [4x6 double]
Properties, Methods
CVMdl является ClassificationPartitionedLinearECOC модель. Он содержит свойство Trained, которая представляет собой массив ячеек 5 на 1, содержащий CompactClassificationECOC модели, которые программное обеспечение обучило с использованием обучающего набора каждой складки.
По умолчанию линейные классификационные модели, составляющие модели ECOC, используют SVM. Оценки SVM подписаны расстояниями от наблюдения до границы принятия решения. Поэтому доменом является ). Создайте пользовательскую двоичную функцию потери, которая:
Сопоставляет матрицу дизайна кодирования (M) и оценки классификации положительного класса для каждого учащегося с двоичными потерями для каждого наблюдения
Использует линейные потери
Агрегирует двоичные потери учащихся с помощью медианы.
Можно создать отдельную функцию для двоичной функции потери, а затем сохранить ее на пути MATLAB ®. Также можно указать анонимную двоичную функцию потери.
customBL = @(M,s)nanmedian(1 - bsxfun(@times,M,s),2)/2;
Спрогнозировать метки перекрестной проверки и оценить медианные двоичные потери на класс. Печать медианных отрицательных двоичных потерь в классе для случайного набора из 10-кратных наблюдений.
[label,NegLoss] = kfoldPredict(CVMdl,'BinaryLoss',customBL); idx = randsample(numel(label),10); table(Y(idx),label(idx),NegLoss(idx,1),NegLoss(idx,2),NegLoss(idx,3),... NegLoss(idx,4),'VariableNames',[{'True'};{'Predicted'};... categories(CVMdl.ClassNames)])
ans=10×6 table
True Predicted comm dsp simulink others
________ _________ _________ ________ ________ _______
others others -1.2319 -1.0488 0.048758 1.6175
simulink simulink -16.407 -12.218 21.531 11.218
dsp dsp -0.7387 -0.11534 -0.88466 -0.2613
others others -0.1251 -0.8749 -0.99766 0.14517
dsp dsp 2.5867 6.4187 -3.5867 -4.4165
others others -0.025358 -1.2287 -0.97464 0.19747
others others -2.6725 -0.56708 -0.51092 2.7453
others others -1.1605 -0.88321 -0.11679 0.43504
others others -1.9511 -1.3175 0.24735 0.95111
simulink others -7.848 -5.8203 4.8203 6.8457
Программное обеспечение прогнозирует метку на основе максимальной отрицательной потери.
Модели ECOC, состоящие из моделей линейной классификации, возвращают апостериорные вероятности только для учащихся с логистической регрессией. В этом примере требуется Toolbox™ параллельных вычислений и оптимизация Toolbox™
Загрузите набор данных NLP и выполните предварительную обработку данных, как указано в разделе «Пользовательская двоичная потеря».
load nlpdata X = X'; Y(~(ismember(Y,{'simulink','dsp','comm'}))) = 'others';
Создайте набор из 5 логарифмически разнесенных уровней регуляризации от
до.
Lambda = logspace(-6,-0.5,5);
Создайте шаблон модели линейной классификации, определяющий оптимизацию целевой функции с помощью SpaRSA и использование слушателей логистической регрессии.
t = templateLinear('Solver','sparsa','Learner','logistic','Lambda',Lambda);
Перекрестная проверка модели ECOC линейных классификационных моделей с использованием пятикратной перекрестной проверки. Укажите, что наблюдения предиктора соответствуют столбцам, и используйте параллельные вычисления.
rng(1); % For reproducibility Options = statset('UseParallel',true); CVMdl = fitcecoc(X,Y,'Learners',t,'KFold',5,'ObservationsIn','columns',... 'Options',Options);
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 6).
Предсказать перекрестно подтвержденные вероятности заднего класса. Укажите, следует ли использовать параллельные вычисления и оценивать апостериорные вероятности с помощью квадратичного программирования.
[label,~,~,Posterior] = kfoldPredict(CVMdl,'Options',Options,... 'PosteriorMethod','qp'); size(label) label(3,4) size(Posterior) Posterior(3,:,4)
ans =
31572 5
ans =
categorical
others
ans =
31572 4 5
ans =
0.0285 0.0373 0.1714 0.7627
Потому что есть пять сильных сторон регуляризации:
label является категориальным массивом 31572 на 5. label(3,4) является прогнозируемой перекрестно подтвержденной меткой для наблюдения 3 с использованием модели, обученной силе регуляризации Lambda(4).
Posterior является матрицей 31572 на 4 на 5. Posterior(3,:,4) - вектор всех оцененных вероятностей заднего класса для наблюдения 3 с использованием модели, обученной силе регуляризации Lambda(4). Порядок второго измерения соответствует CVMdl.ClassNames. Отображение случайного набора из 10 вероятностей заднего класса.
Отображение случайной выборки перекрестно проверенных меток и задних вероятностей для модели, обученной с использованием Lambda(4).
idx = randsample(size(label,1),10); table(Y(idx),label(idx,4),Posterior(idx,1,4),Posterior(idx,2,4),... Posterior(idx,3,4),Posterior(idx,4,4),... 'VariableNames',[{'True'};{'Predicted'};categories(CVMdl.ClassNames)])
ans =
10×6 table
True Predicted comm dsp simulink others
________ _________ __________ __________ ________ _________
others others 0.030275 0.022142 0.10416 0.84342
simulink simulink 3.4954e-05 4.2982e-05 0.99832 0.0016016
dsp others 0.15787 0.25718 0.18848 0.39647
others others 0.094177 0.062712 0.12921 0.71391
dsp dsp 0.0057979 0.89703 0.015098 0.082072
others others 0.086084 0.054836 0.086165 0.77292
others others 0.0062338 0.0060492 0.023816 0.9639
others others 0.06543 0.075097 0.17136 0.68812
others others 0.051843 0.025566 0.13299 0.7896
simulink simulink 0.00044059 0.00049753 0.70958 0.28948
Двоичная потеря - это функция класса и оценки классификации, которая определяет, насколько хорошо двоичный ученик классифицирует наблюдение в классе.
Предположим, что:
mkj - элемент (k, j) матрицы M дизайна кодирования (то есть код, соответствующий классу k двоичного учащегося j).
sj - оценка двоичного ученика j для наблюдения.
g - функция двоичных потерь.
^ - прогнозируемый класс для наблюдения.
При декодировании на основе потерь [Escalera et al.] класс, производящий минимальную сумму двоичных потерь над двоичными учениками, определяет прогнозируемый класс наблюдения, то есть
).
При декодировании со взвешенными потерями [Escalera et al.] класс, производящий минимальное среднее двоичных потерь по двоичным ученикам, определяет прогнозируемый класс наблюдения, то есть
∑j=1L'mkj|.
Allwein et al. предполагают, что взвешенное по потерям декодирование улучшает точность классификации, сохраняя значения потерь для всех классов в одном динамическом диапазоне.
Эта таблица суммирует поддерживаемые функции потерь, где yj - метка класса для конкретного двоичного ученика (в наборе {-1,1,0}), sj - оценка для наблюдения j, и g (yj, sj).
| Стоимость | Описание | Домен оценки | g (yj, sj) |
|---|---|---|---|
'binodeviance' | Биномиальное отклонение | (–∞,∞) | журнал [1 + exp (-2yjsj) ]/[ 2log (2)] |
'exponential' | Показательный | (–∞,∞) | exp (-yjsj )/2 |
'hamming' | Хэмминг | [0,1] или (- ∞,∞) | [1 - знак (yjsj) ]/2 |
'hinge' | Стержень | (–∞,∞) | max (0,1 - yjsj )/2 |
'linear' | Линейный | (–∞,∞) | (1 - yjsj )/2 |
'logit' | Логистический | (–∞,∞) | log [1 + exp (-yjsj) ]/[ 2log (2)] |
'quadratic' | Квадратный | [0,1] | [1-yj (2sj-1)] 2/2 |
Программное обеспечение нормализует двоичные потери так, что потери составляют 0,5, когда yj = 0, и агрегирует, используя среднее значение двоичных учеников [Allwein et al.].
Не путайте бинарную потерю с общей классификационной потерей (указанной 'LossFun' аргумент пары имя-значение loss и predict объектные функции), который измеряет, насколько хорошо классификатор ECOC работает в целом.
Программное обеспечение может оценивать апостериорные вероятности классов, минимизируя дивергенцию Куллбэка-Лейблера или используя квадратичное программирование. Для следующих описаний алгоритмов апостериорной оценки предположим, что:
mkj - элемент (k, j) матрицы M дизайна кодирования.
I - функция индикатора.
k - оценка апостериорной вероятности класса для класса k наблюдения, k = 1,...,K.
rj - апостериорная вероятность положительного класса для двоичного учащегося j. То есть, rj - вероятность того, что двоичный ученик j классифицирует наблюдение в положительный класс, учитывая данные обучения.
По умолчанию программное обеспечение минимизирует дивергенцию Kullback-Leibler для оценки апостериорных вероятностей класса. Расхождение Куллбака-Лейблера между ожидаемой и наблюдаемой апостериорной вероятностями положительного класса составляет
rj1 − r ^ j],
где - вес для двоичного ученика j.
Sj - это набор показателей наблюдения, на которых обучается двоичный ученик j.
- вес наблюдения i.
Программное обеспечение минимизирует расхождение итеративно. Первым шагом является выбор начальных значений .., K для апостериорных вероятностей класса.
Если не указать 'NumKLIterations'затем программное обеспечение пробует оба набора детерминированных начальных значений, описанных далее, и выбирает набор, который минимизирует Δ.
..., K.
.., K - решение системы
= r,
где M01 - M со всеми mkj = -1, замененными на 0, и r - вектор апостериорных вероятностей положительного класса, возвращаемый L двоичными учениками [Dietterich et al.]. Программное обеспечение использует lsqnonneg для решения системы.
При указании 'NumKLIterations',c, где c является натуральным числом, то программное обеспечение делает следующее, чтобы выбрать множество .., K, и выбирает множество, которое минимизирует Δ.
Программное обеспечение пробует оба набора детерминированных начальных значений, как описано выше.
Программное обеспечение случайным образом генерирует c векторы длины К с использованием rand, а затем нормализует каждый вектор для суммирования в 1.
При итерации t программное обеспечение выполняет следующие действия:
Вычислить
mkj=+1∪mkj=−1).
Оценить апостериорную вероятность следующего класса, используя
mkj = + 1) + (1 − r ^ j (t)) I (mkj = − 1)].
Нормализовать ,..., K так, чтобы они были равны 1.
Проверьте сходимость.
Более подробно см. [Hastie et al.] и [Zadrozny].
Для оценки апостериорной вероятности с помощью квадратичного программирования требуется лицензия Optimization Toolbox. Чтобы оценить апостериорные вероятности для наблюдения с помощью этого метода, программное обеспечение выполняет следующие шаги:
Оцените апостериорные вероятности положительного класса, rj, для двоичных учеников j = 1,...,L.
Используя взаимосвязь между rj и k [Wu et al.], минимизируйте
(mkj = + 1)] 2
в отношении k и ограничений
Программа выполняет минимизацию с помощью quadprog(Панель инструментов оптимизации).
[1] Allwein, E., R. Schapire и Y. Singer. «Сокращение мультиклассов до двоичных: унифицирующий подход к classifiers маржи». Журнал исследований машинного обучения. Том 1, 2000, стр. 113-141.
[2] Диттерих, Т. и Г. Бакири. «Решение проблем многоклассового обучения с помощью кодов вывода с исправлением ошибок». Журнал исследований искусственного интеллекта. Том 2, 1995, стр. 263-286.
[3] Эскалера, С., О. Пужоль и П. Радева. «Процесс декодирования в выходных кодах с тройной коррекцией ошибок». Транзакции IEEE по анализу шаблонов и машинному интеллекту. Том 32, выпуск 7, 2010, стр. 120-134.
[4] Эскалера, С., О. Пужоль и П. Радева. «Разделяемость троичных кодов для разреженных конструкций выходных кодов с исправлением ошибок». Повторная запись шаблона. Том 30, выпуск 3, 2009, стр. 285-297.
[5] Хасти, Т. и Р. Тибширани. «Классификация по парной муфте». Анналы статистики. Том 26, выпуск 2, 1998, стр. 451-471.
[6] Wu, T.F., C. J. Лин и Р. Венг. «Оценки вероятности для классификации нескольких классов по парному соединению». Журнал исследований машинного обучения. Том 5, 2004, стр. 975-1005.
[7] Задрозный, В. «Уменьшение мультикласса до двоичного путем оценки вероятности связи». NIPS 2001: Proceedings of Advances in Neural Information Processing Systems 14, 2001, pp. 1041-1048.
Для параллельного выполнения укажите 'Options' аргумент name-value в вызове этой функции и установка 'UseParallel' поле структуры опций для true использование statset.
Например: 'Options',statset('UseParallel',true)
Дополнительные сведения о параллельных вычислениях см. в разделе Запуск функций MATLAB с автоматической параллельной поддержкой (панель инструментов параллельных вычислений).
ClassificationECOC | ClassificationLinear | ClassificationPartitionedLinearECOC | confusionchart | fitcecoc | perfcurve | predict | statset | testcholdout
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.