predict , loss , margin , и edge методы этих классов классификации поддерживают длинные массивы:
| Можно использовать модели, обученные или на или на высоких данных в оперативной памяти с этими методами. loss метод CompactClassificationTree только поддержки один выходной аргумент.
|
resume метод ClassificationKernel длинные массивы поддержек. |
Значение по умолчанию для 'IterationLimit' аргумент пары "имя-значение" ослабляется к 20 при работе с длинными массивами. resume использует мудрую блоком стратегию. Для получения дополнительной информации см. Алгоритмы fitckernel .
|
fitcdiscr | Поддерживаемые синтаксисы: Mdl = fitcdiscr(Tbl,Y)
Mdl = fitcdiscr(X,Y)
Mdl = fitcdiscr(___,Name,Value)
[Mdl,FitInfo,HyperparameterOptimizationResults] = fitcdiscr(___,Name,Value) — fitcdiscr возвращает дополнительные выходные аргументы FitInfo и HyperparameterOptimizationResults когда вы задаете 'OptimizeHyperparameters' аргумент пары "имя-значение".
FitInfo выходным аргументом является пустой массив структур, в настоящее время зарезервированный для возможного будущего использования.
HyperparameterOptimizationResults выходным аргументом является BayesianOptimization возразите или таблица гиперпараметров с присваиваемыми значениями, которые описывают оптимизацию перекрестной проверки гиперпараметров.
'HyperparameterOptimizationResults' непусто когда 'OptimizeHyperparameters' аргумент пары "имя-значение" непуст в то время, когда вы создаете модель. Значения в 'HyperparameterOptimizationResults' зависьте от значения, которое вы задаете для 'HyperparameterOptimizationOptions' аргумент пары "имя-значение", когда вы создаете модель.
Если вы задаете 'bayesopt' (значение по умолчанию), затем HyperparameterOptimizationResults объект класса BayesianOptimization . Если вы задаете 'gridsearch' или 'randomsearch' , затем HyperparameterOptimizationResults таблица гиперпараметров используемые, наблюдаемые значения целевой функции (потеря перекрестной проверки), и ранг наблюдений от самого низкого (лучше всего) к (худшему) самому высокому.
Поддерживаемые аргументы пары "имя-значение" и любые различия:
'ClassNames'
'Cost'
'DiscrimType'
'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitcdiscr(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) .
'OptimizeHyperparameters' — Единственным имеющим право параметром, чтобы оптимизировать является 'DiscrimType' . Определение 'auto' использование 'DiscrimType' .
'PredictorNames'
'Prior'
'ResponseName'
'ScoreTransform'
'Weights'
Для длинных массивов и длинных таблиц, fitcdiscr возвращает CompactClassificationDiscriminant объект, который содержит большинство тех же свойств как ClassificationDiscriminant объект. Основное различие - то, что компактный объект чувствителен к требованиям к памяти. Компактный объект не включает свойства, которые включают данные, или которые включают массив одного размера с данными. Компактный объект не содержит их ClassificationDiscriminant свойства:
Кроме того, компактный объект не поддерживает их ClassificationDiscriminant методы:
compact
crossval
cvshrink
resubEdge
resubLoss
resubMargin
resubPredict
|
fitcecoc |
Поддерживаемые синтаксисы: Mdl = fitcecoc(X,Y)
Mdl = fitcecoc(X,Y,Name,Value)
[Mdl,FitInfo,HyperparameterOptimizationResults] = fitcecoc(X,Y,Name,Value) — fitcecoc возвращает дополнительные выходные аргументы FitInfo и HyperparameterOptimizationResults когда вы задаете 'OptimizeHyperparameters' аргумент пары "имя-значение".
FitInfo выходным аргументом является пустой массив структур, в настоящее время зарезервированный для возможного будущего использования.
Опции, связанные с перекрестной проверкой, не поддержаны. Поддерживаемые аргументы пары "имя-значение": 'ClassNames'
'Cost'
'Coding' — Значением по умолчанию является 'onevsall' .
'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitcecoc(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) .
'Learners' — Значением по умолчанию является 'linear' . Можно задать 'linear' , 'kernel' , templateLinear или templateKernel объект или массив ячеек таких объектов.
'OptimizeHyperparameters' — Когда вы используете линейных бинарных учеников, значение 'Regularization' гиперпараметром должен быть 'ridge' .
'Prior'
'Verbose' — Значением по умолчанию является 1 .
'Weights'
Этот дополнительный аргумент пары "имя-значение" характерен для длинных массивов: 'NumConcurrent' — Положительный целочисленный скаляр, задающий количество бинарных учеников, которые обучены одновременно путем объединения операций файлового ввода-вывода. Значение по умолчанию для 'NumConcurrent' 1 , что означает fitcecoc обучает бинарных учеников последовательно. 'NumConcurrent' является самым выгодным, когда входные массивы не могут поместиться в распределенную кластерную память. В противном случае входные массивы могут кэшироваться, и ускорение незначительно.
Если при запуске свой код по Apache Spark™, NumConcurrent верхний ограниченный памятью, доступной для коммуникаций. Проверяйте 'spark.executor.memory' и 'spark.driver.memory' свойства в вашей настройке Spark Apache. Смотрите parallel.cluster.Hadoop для получения дополнительной информации. Для получения дополнительной информации о Spark Apache и других средах выполнения, которые управляют, куда ваш код запускается, смотрите Расширение длинных массивов с помощью других продуктов (MATLAB).
|
fitckernel |
Некоторые аргументы пары "имя-значение" имеют различные значения по умолчанию по сравнению со значениями по умолчанию для fitckernel в оперативной памяти функция. Поддерживаемые аргументы пары "имя-значение" и любые различия: 'Learner'
'NumExpansionDimensions'
'KernelScale'
'BoxConstraint'
'Lambda'
'BetaTolerance' — Значение по умолчанию ослабляется к 1e–3 .
'GradientTolerance' — Значение по умолчанию ослабляется к 1e–5 .
'IterationLimit' — Значение по умолчанию ослабляется к 20 .
'BlockSize'
'RandomStream'
'HessianHistorySize'
'Verbose' — Значением по умолчанию является 1 .
'ClassNames'
'Cost'
'Prior'
'ScoreTransform'
'Weights' — Значение должно быть длинным массивом.
'OptimizeHyperparameters'
'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitckernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) .
Если 'KernelScale' 'auto' , затем fitckernel использует случайный поток, которым управляет tallrng для подвыборки. Для воспроизводимости необходимо установить seed случайных чисел и для глобального потока и для случайного потока, которым управляет tallrng . Если 'Lambda' 'auto' , затем fitckernel может взять дополнительный проход через данные, чтобы вычислить количество наблюдений в X . fitckernel использует мудрую блоком стратегию. Для получения дополнительной информации см. Алгоритмы.
|
templateKernel |
Значения по умолчанию для этих аргументов пары "имя-значение" отличаются, когда вы работаете с длинными массивами. 'Verbose' — Значением по умолчанию является 1 .
'BetaTolerance' — Значение по умолчанию ослабляется к 1e–3 .
'GradientTolerance' — Значение по умолчанию ослабляется к 1e–5 .
'IterationLimit' — Значение по умолчанию ослабляется к 20 .
Если 'KernelScale' 'auto' , затем templateKernel использует случайный поток, которым управляет tallrng для подвыборки. Для воспроизводимости необходимо установить seed случайных чисел и для глобального потока и для случайного потока, которым управляет tallrng . Если 'Lambda' 'auto' , затем templateKernel может взять дополнительный проход через данные, чтобы вычислить количество наблюдений. templateKernel использует мудрую блоком стратегию. Для получения дополнительной информации см. Алгоритмы.
|
fitclinear | Некоторые аргументы пары "имя-значение" имеют различные значения по умолчанию по сравнению со значениями по умолчанию для fitclinear в оперативной памяти функция. Поддерживаемые аргументы пары "имя-значение" и любые различия: 'ObservationsIn' — Поддержки только 'rows' .
'Lambda' — Может быть 'auto' (значение по умолчанию) или скаляр.
'Learner'
'Regularization' — Поддержки только 'ridge' .
'Solver' — Поддержки только 'lbfgs' .
'FitBias' — Поддержки только true .
'Verbose' — Значением по умолчанию является 1 .
'Beta'
'Bias'
'ClassNames'
'Cost'
'Prior'
'Weights' — Значение должно быть длинным массивом.
'HessianHistorySize'
'BetaTolerance' — Значение по умолчанию ослабляется к 1e–3 .
'GradientTolerance' — Значение по умолчанию ослабляется к 1e–3 .
'IterationLimit' — Значение по умолчанию ослабляется к 20 .
'OptimizeHyperparameters' — Значение 'Regularization' параметром должен быть 'ridge' .
'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitclinear(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) .
Для длинных массивов, fitclinear реализации LBFGS путем распределения вычисления потери и градиента среди различных частей длинного массива в каждой итерации. Другие решатели не доступны для длинных массивов. Когда начальные значения для Beta и Bias не даны, fitclinear совершенствовал первоначальные оценки параметров, подбирая модель локально к частям данных и комбинируя коэффициенты путем усреднения.
|
templateLinear |
Значения по умолчанию для этих аргументов пары "имя-значение" отличаются, когда вы работаете с длинными массивами. 'Lambda' — Может быть 'auto' (значение по умолчанию) или скаляр
'Regularization' — Поддержки только 'ridge'
'Solver' — Поддержки только 'lbfgs'
'FitBias' — Поддержки только true
'Verbose' — Значением по умолчанию является 1
'BetaTolerance' — Значение по умолчанию ослабляется к 1e–3
'GradientTolerance' — Значение по умолчанию ослабляется к 1e–3
'IterationLimit' — Значение по умолчанию ослабляется к 20
Когда fitcecoc использует templateLinear объект с длинными массивами, единственный доступный решатель является LBFGS. Программное обеспечение реализует LBFGS путем распределения вычисления потери и градиента среди различных частей длинного массива в каждой итерации. Если вы не задаете начальные значения для Beta и Bias , программное обеспечение совершенствовало первоначальные оценки параметров, подбирая модель локально к частям данных и комбинируя коэффициенты путем усреднения.
|
fitcnb | Поддерживаемые синтаксисы: Опции, связанные с плотностью ядра, перекрестной проверкой и гипероптимизацией параметров управления, не поддержаны. Поддерживаемые аргументы пары "имя-значение":
|
fitctree |
Поддерживаемые синтаксисы: tree = fitctree(Tbl,Y)
tree = fitctree(X,Y)
tree = fitctree(___,Name,Value)
[tree,FitInfo,HyperparameterOptimizationResults] = fitctree(___,Name,Value) — fitctree возвращает дополнительные выходные аргументы FitInfo и HyperparameterOptimizationResults когда вы задаете 'OptimizeHyperparameters' аргумент пары "имя-значение".
FitInfo выходным аргументом является пустой массив структур, в настоящее время зарезервированный для возможного будущего использования.
HyperparameterOptimizationResults выходным аргументом является BayesianOptimization возразите или таблица гиперпараметров с присваиваемыми значениями, которые описывают оптимизацию перекрестной проверки гиперпараметров.
'HyperparameterOptimizationResults' непусто когда 'OptimizeHyperparameters' аргумент пары "имя-значение" непуст в то время, когда вы создаете модель. Значения в 'HyperparameterOptimizationResults' зависьте от значения, которое вы задаете для 'HyperparameterOptimizationOptions' аргумент пары "имя-значение", когда вы создаете модель.
Если вы задаете 'bayesopt' (значение по умолчанию), затем HyperparameterOptimizationResults объект класса BayesianOptimization . Если вы задаете 'gridsearch' или 'randomsearch' , затем HyperparameterOptimizationResults таблица гиперпараметров используемые, наблюдаемые значения целевой функции (потеря перекрестной проверки), и ранг наблюдений от самого низкого (лучше всего) к (худшему) самому высокому.
Поддерживаемые аргументы пары "имя-значение" и любые различия: 'AlgorithmForCategorical'
'CategoricalPredictors'
'ClassNames'
'Cost'
'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitctree(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) .
'MaxNumCategories'
'MaxNumSplits' — для высокой оптимизации, fitctree поисковые запросы среди целых чисел, по умолчанию масштабируемых журналом в области значений [1,max(2,min(10000,NumObservations-1))] .
'MergeLeaves'
'MinLeafSize'
'MinParentSize'
'NumVariablesToSample'
'OptimizeHyperparameters'
'PredictorNames'
'Prior'
'ResponseName'
'ScoreTransform'
'SplitCriterion'
'Weights'
Этот дополнительный аргумент пары "имя-значение" характерен для длинных массивов: 'MaxDepth' — Положительное целое число, задающее максимальную глубину выходного дерева. Задайте значение для этого аргумента, чтобы возвратить дерево, которое имеет меньше уровней и требует, чтобы меньше прошли через длинный массив, чтобы вычислить. Обычно алгоритм fitctree берет один проход через данные и дополнительную передачу для каждого древовидного уровня. Функция не устанавливает максимальную древовидную глубину по умолчанию.
|
TreeBagger | Поддерживаемые синтаксисы для высокого X Y tbl : B = TreeBagger(NumTrees,Tbl,Y)
B = TreeBagger(NumTrees,X,Y)
B = TreeBagger(___,Name,Value)
Для длинных массивов, TreeBagger классификация поддержек, но не поддерживает регрессию. Поддерживаемые пары "имя-значение": 'NumPredictorsToSample' — Значением по умолчанию является квадратный корень из количества переменных для классификации.
'MinLeafSize' — Значением по умолчанию является 1 если количество наблюдений меньше 50,000. Если количество наблюдений 50,000 или больше, то значением по умолчанию является max(1,min(5,floor(0.01*NobsChunk))) , где NobsChunk количество наблюдений во фрагменте.
'ChunkSize' (только для длинных массивов) — Значением по умолчанию является 50000 .
Кроме того, TreeBagger поддержки эти дополнительные аргументы fitctree :
Для высоких данных, TreeBagger возвращает CompactTreeBagger объект, который содержит большинство тех же свойств как полный TreeBagger объект. Основное различие - то, что компактный объект является большей эффективной памятью. Компактный объект не включает свойства, которые включают данные, или которые включают массив одного размера с данными. Количество деревьев содержится в возвращенном CompactTreeBagger объект может отличаться от количества деревьев, заданных, как введено к TreeBagger функция. TreeBagger определяет количество деревьев, чтобы возвратиться на основе факторов, которые включают размер набора входных данных, и количество данных разделяет на блоки доступный, чтобы вырастить деревья. Поддерживаемый CompactTreeBagger методы: combine
error
margin
meanMargin
predict
setDefaultYfit
error , margin , meanMargin , и predict методы не поддерживают аргументы пары "имя-значение" 'Trees' , 'TreeWeights' , или 'UseInstanceForTree' . meanMargin метод дополнительно не поддерживает 'Weights' .
TreeBagger создает случайный лес путем генерации деревьев на непересекающихся фрагментах данных. Когда больше данных доступно, чем требуется, чтобы создавать случайный лес, данные подпроизводятся. Для подобного примера смотрите Случайные Леса для Больших данных (Genuer, Poggi, Tuleau-Malot, Вилла-Vialaneix 2015).
В зависимости от того, как хранятся данные, возможно, что некоторые фрагменты данных содержат наблюдения только от нескольких классов из всех классов. В этом случае, TreeBagger может привести к нижним результатам по сравнению со случаем, где каждый фрагмент данных содержит наблюдения от большинства классов. Во время обучения TreeBagger алгоритм, скорость, точность и использование памяти зависят от ряда факторов. Эти факторы включают значения для NumTrees 'ChunkSize' , 'MinLeafSize' , и 'MaxNumSplits' . Для n-by-p длинный массив X , TreeBagger выборка реализаций во время обучения. Эта выборка зависит от этих переменных:
Количество деревьев NumTrees Размер фрагмента 'ChunkSize' Количество наблюдений n Количество фрагментов r (приблизительно равняются n/'ChunkSize' )
Поскольку значение n фиксируется для данного X , ваши настройки для NumTrees и 'ChunkSize' определите как TreeBagger выборки X .
Если r> NumTrees , затем TreeBagger выборки 'ChunkSize' * NumTrees наблюдения от X , и обучает одно дерево на фрагмент (с каждым фрагментом, содержащим 'ChunkSize' количество наблюдений). Этот сценарий наиболее распространен, когда вы работаете с длинными массивами. Если r ≤ NumTrees , затем TreeBagger обучает приблизительно NumTrees/r деревья в каждом фрагменте, с помощью загружающийся во фрагменте. Если n ≤ 'ChunkSize' , затем TreeBagger использование, загружающееся, чтобы сгенерировать выборки (каждый размер n), на котором можно обучить отдельные деревья.
При определении значения для NumTrees , рассмотрите следующее:
Если при запуске свой код по Spark Apache, и ваш набор данных распределяется с Hadoop® Distributed File System (HDFS™), запустите путем определения значения для NumTrees это - по крайней мере, дважды количество разделов в HDFS для вашего набора данных. Эта установка предотвращает чрезмерную передачу данных среди исполнителей Spark Apache и может улучшать производительность TreeBagger алгоритм. TreeBagger копии вместили деревья в клиентскую память в получившемся CompactTreeBagger модель. Поэтому объем памяти, доступный для клиента, создает верхнюю границу на значении, которое можно установить для NumTrees . Можно настроить значения 'MinLeafSize' и 'MaxNumSplits' для более эффективной скорости и использования памяти за счет некоторой прогнозирующей точности. После настройки, если значение NumTrees меньше дважды количества разделов в HDFS для вашего набора данных, затем полагайте, что повторное разделение ваших данных в HDFS имеет большие разделы.
После определения значения для NumTrees , установите 'ChunkSize' гарантировать тот TreeBagger использование большинство данных, чтобы вырастить деревья. Идеально, 'ChunkSize' * NumTrees должен аппроксимировать n, количество строк в ваших данных. Обратите внимание на то, что память, доступная в рабочих для учебных отдельных деревьев, может также определить верхнюю границу для 'ChunkSize' . Можно настроить свойства памяти Spark Apache избежать ошибок из памяти и поддержать рабочий процесс. Смотрите parallel.cluster.Hadoop для получения дополнительной информации.
|