Поддержка длинного массива, указания по применению и ограничения

Эта таблица приводит функции Statistics and Machine Learning Toolbox™ та поддержка длинные массивы. "Примечания или Ограничения" столбец пусты для страниц с описанием, которые полностью поддерживают длинные массивы и данные в оперативной памяти.

Описательная статистика и визуализация

ФункцияПримечания или ограничения
binScatterPlot

Эта функция специально предназначена для визуализации длинных массивов. Вместо того, чтобы строить миллионы точек данных, который не очень выполним, binScatterPlot обобщает точки данных в интервалы. Этот “график рассеивания интервалов” показывает высокоуровневые тренды в данных.

confusionchart 
confusionmat 
corr

Только 'Pearson' тип поддерживается.

crosstab

Четвертый выход, labels, возвращен как массив ячеек, содержащий M неоцененные высокие массивы ячеек, где M количество входных сгруппированных переменных. Каждый неоцененный высокий массив ячеек, labels{j}, содержит метки для одной сгруппированной переменной.

dummyvar 
geomean 
grpstats
  • Если входные данные являются длинным массивом, то все сгруппированные переменные должны также быть высокими и иметь одинаковое число строк как данные.

  • whichstats опция не может быть определена функцией указатель. В дополнение к текущим встроенным опциям, whichstats может также быть:

    • 'Count' — Количество non-NaNs.

    • 'NNZ' — Количество ненулей и non-NaNs.

    • 'Kurtosis' — Вычислите эксцесс.

    • 'Skewness' — Вычислите скошенность.

    • 'all-stats' — Вычислите всю итоговую статистику.

  • Порядок группы, как гарантируют, не совпадет с grpstats в оперативной памяти расчет. Задайте 'gname' как whichstats опция, чтобы возвратить порядок строк итоговой статистики. Например, [means,grpname] = grpstats(x,bins,{'mean','gname'}) возвращает средние значения групп в x в том же порядке, что группы появляются в grpname.

  • Итоговые статистические данные для нечисловых переменных возвращают NaNs.

  • grpstats всегда работает с первой размерностью.

  • Если вход является длинной таблицей, то выход является также длинной таблицей. Однако вместо того, чтобы включить имена строк, выходная длинная таблица содержит дополнительную переменную GroupLabel это содержит ту же информацию.

harmmean 
ksdensity
  • Некоторые опции, которые требуют дополнительных передач или сортировки входных данных, не поддержаны:

    • 'BoundaryCorrection'

    • 'Censoring'

    • 'Support' (поддержка всегда неограниченна).

  • Стандартное отклонение использования (вместо среднего абсолютного отклонения), чтобы вычислить пропускную способность.

kurtosis 
prctile
  • Y = prctile(X,p) возвращает точные процентили (использующий основанный на сортировке алгоритм) только если X высокий вектор-столбец.

  • Y = prctile(X,p,dim) возвращает точные процентили только, когда одно из этих условий существует:

    • X высокий вектор-столбец.

    • X длинный массив и dim не 1. Например, prctile(X,p,2) возвращает точные процентили вдоль строк длинного массива X.

    Если X длинный массив и dim 1, затем необходимо задать 'Method','approximate' использовать алгоритм аппроксимации на основе T-обзора для вычисления процентилей. Например, prctile(X,p,1,'Method','approximate') возвращает аппроксимированные процентили вдоль столбцов длинного массива X.

  • Y = prctile(X,p,vecdim) возвращает точные процентили только, когда одно из этих условий существует:

    • X высокий вектор-столбец.

    • X длинный массив и vecdim не включает 1. Например, если X 3 5 2 массивами, затем prctile(X,p,[2,3]) возвращает точные процентили элементов в каждом X(i,:,:) срез.

    • X длинный массив и vecdim включает 1 и все неодноэлементные размерности X. Например, если X 10 массивом 1 на 4, затем prctile(X,p,[1 3]) возвращает точные процентили элементов в X(:,1,:).

    Если X длинный массив и vecdim включает 1 но не включает все неодноэлементные размерности X, затем необходимо задать 'Method','approximate' использовать алгоритм аппроксимации. Например, если X 10 массивом 1 на 4, можно использовать prctile(X,p,[1 2],'Method','approximate') найти аппроксимированные процентили каждой страницы X.

quantile
  • Y = quantile(X,p) и Y = quantile(X,N) возвратите точные квантили (использующий основанный на сортировке алгоритм) только если X высокий вектор-столбец.

  • Y = quantile(__,dim) возвращает точные квантили только, когда одно из этих условий существует:

    • X высокий вектор-столбец.

    • X длинный массив и dim не 1. Например, quantile(X,p,2) возвращает точные квантили вдоль строк длинного массива X.

    Если X длинный массив и dim 1, затем необходимо задать 'Method','approximate' использовать алгоритм аппроксимации на основе T-обзора для вычисления квантилей. Например, quantile(X,p,1,'Method','approximate') возвращает аппроксимированные квантили вдоль столбцов длинного массива X.

  • Y = quantile(__,vecdim) возвращает точные квантили только, когда одно из этих условий существует:

    • X высокий вектор-столбец.

    • X длинный массив и vecdim не включает 1. Например, если X 3 5 2 массивами, затем quantile(X,p,[2,3]) возвращает точные квантили элементов в каждом X(i,:,:) срез.

    • X длинный массив и vecdim включает 1 и все неодноэлементные размерности X. Например, если X 10 массивом 1 на 4, затем quantile(X,p,[1 3]) возвращает точные квантили элементов в X(:,1,:).

    Если X длинный массив и vecdim включает 1 но не включает все неодноэлементные размерности X, затем необходимо задать 'Method','approximate' использовать алгоритм аппроксимации. Например, если X 10 массивом 1 на 4, можно использовать quantile(X,p,[1 2],'Method','approximate') найти аппроксимированные квантили каждой страницы X.

range 
skewness 
tabulate 
zscore 

Вероятностные распределения

ФункцияПримечания или ограничения
datasample
  • datasample полезно как предшественник графического вывода и подбора кривой случайному подмножеству большого набора данных. Выборка большого набора данных сохраняет тренды в данных, не требуя использования всех точек данных. Если выборка мала достаточно, чтобы уместиться в памяти, то можно применить графический вывод и подбор кривой функциям, которые непосредственно не поддерживают длинные массивы.

  • datasample поддержки, производящие только по первому измерению данных.

  • Для длинных массивов, datasample не поддерживает выборку с заменой. Необходимо задать 'Replace',false, например, datasample(data,k,'Replace',false).

  • Значение 'Weights' должен быть числовой длинный массив той же высоты как data.

  • Для синтаксиса [Y,idx] = datasample(___), выход idx высокий логический вектор той же высоты как data. Вектор указывает, включена ли каждая точка данных в выборку.

  • Если вы задаете поток случайных чисел, то базовый генератор должен поддержать несколько потоков и подпотоков. Если вы не задаете поток случайных чисел, то datasample использует поток, которым управляет tallrng.

Кластерный анализ

ФункцияПримечания или ограничения
kmeans

  • Поддерживаемые синтаксисы:

    • idx = kmeans(X,k)

    • [idx,C] = kmeans(X,k)

    • [idx,C,sumd] = kmeans(X,k)

    • [___] = kmeans(___,Name,Value)

  • Поддерживаемые аргументы пары "имя-значение" и любые различия:

    • 'Display' — Значением по умолчанию является 'iter'.

    • 'MaxIter'

    • 'Options' — Поддержки только 'TolFun' поле массива структур создается statset. Значение по умолчанию 'TolFun' 1e-4. kmeans функционируйте использует значение 'TolFun' как допуск завершения к суммам в кластере расстояний точки к центроиду. Например, можно задать 'Options',statset('TolFun',1e-8).

    • 'Replicates'

    • 'Start' — Поддержки только 'plus', 'sample', и числовой массив.

knnsearch

  • Если X длинный массив, затем Y не может быть длинный массив. Точно так же, если Y длинный массив, затем X не может быть длинный массив.

pdist2

  • Первый вход X должен быть длинный массив. Введите Y не может быть длинный массив.

rangesearch

  • Если X длинный массив, затем Y не может быть длинный массив. Точно так же, если Y длинный массив, затем X не может быть длинный массив.

Регрессия

ФункцияПримечания или ограничения

loss и predict методы этих классов регрессии поддерживают длинные массивы:

  • Можно использовать модели, обученные или на или на высоких данных в оперативной памяти с этими методами.

  • loss метод CompactRegressionTree только поддержки один выходной аргумент.

resume метод RegressionKernel длинные массивы поддержек.

  • Можно использовать модели, обученные или на или на высоких данных в оперативной памяти.

  • Значение по умолчанию для 'IterationLimit' аргумент пары "имя-значение" ослабляется к 20, когда вы работаете с длинными массивами.

  • resume использует мудрую блоком стратегию. Для получения дополнительной информации смотрите раздел Algorithms fitrkernel.

cvpartition
  • Когда вы используете cvpartition с длинными массивами первый входной параметр должен быть сгруппированной переменной, tGroup. Если вы задаете высокий скаляр как первый входной параметр, cvpartition дает ошибку.

  • cvpartition поддержки только Holdout перекрестная проверка для длинных массивов; например, c = cvpartition(tGroup,'HoldOut',p). По умолчанию, cvpartition случайным образом наблюдения разделов в набор обучающих данных и набор тестов со стратификацией, с помощью информации о классе в tGroup. Параметр p скаляр, таким образом что 0 < p < 1.

  • Создать нерасслоенный Holdout разделы, задайте значение 'Stratify' аргумент пары "имя-значение" как false; например, c = cvpartition(tGroup,'Holdout',p,'Stratify',false).

fitglm
  • Если любой входной параметр к fitglm длинный массив, затем все другие входные параметры должны быть длинными массивами также. Это включает непустые переменные, предоставленные 'Weights', 'Exclude', 'Offset', и 'BinomialSize' пары "имя-значение".

  • Количество по умолчанию итераций равняется 5. Можно изменить количество итераций с помощью 'Options' пара "имя-значение", чтобы передать в структуре опций. Создайте структуру опций с помощью statset задавать различное значение для MaxIter.

  • Для высоких данных, fitglm возвращает CompactGeneralizedLinearModel объект, который содержит большинство тех же свойств как GeneralizedLinearModel объект. Основное различие - то, что компактный объект чувствителен к требованиям к памяти. Компактный объект не включает свойства, которые включают данные, или которые включают массив одного размера с данными. Компактный объект не содержит их GeneralizedLinearModel свойства:

    • Diagnostics

    • Fitted

    • Offset

    • ObservationInfo

    • ObservationNames

    • Residuals

    • Steps

    • Variables

    Можно вычислить остаточные значения непосредственно компактного объекта, возвращенного GLM = fitglm(X,Y) использование

    RES = Y - predict(GLM,X);
    S = sqrt(GLM.SSE/GLM.DFE);
    histogram(RES,linspace(-3*S,3*S,51))
    
fitlm
  • Если любой входной параметр к fitlm длинный массив, затем все другие входные параметры должны быть длинными массивами также. Это включает непустые переменные, предоставленные 'Weights' и 'Exclude' пары "имя-значение".

  • 'RobustOpts' пара "имя-значение" не поддержана с длинными массивами.

  • Для высоких данных, fitlm возвращает CompactLinearModel объект, который содержит большинство тех же свойств как LinearModel объект. Основное различие - то, что компактный объект чувствителен к требованиям к памяти. Компактный объект не включает свойства, которые включают данные, или которые включают массив одного размера с данными. Компактный объект не содержит их LinearModel свойства:

    • Diagnostics

    • Fitted

    • ObservationInfo

    • ObservationNames

    • Residuals

    • Steps

    • Variables

    Можно вычислить остаточные значения непосредственно компактного объекта, возвращенного LM = fitlm(X,Y) использование

    RES = Y - predict(LM,X);
    S = LM.RMSE;
    histogram(RES,linspace(-3*S,3*S,51))
    
  • Если CompactLinearModel объект пропускает условия более низкоуровневые, которые включают категориальные факторы:

    • plotEffects и plotInteraction методы не поддержаны.

    • anova метод с 'components' опция не поддержана.

fitrkernel
  • Некоторые аргументы пары "имя-значение" имеют различные значения по умолчанию по сравнению со значениями по умолчанию для fitrkernel в оперативной памяти функция. Поддерживаемые аргументы пары "имя-значение" и любые различия:

    • 'BoxConstraint'

    • 'Epsilon'

    • 'NumExpansionDimensions'

    • 'KernelScale'

    • 'Lambda'

    • 'Learner'

    • 'Verbose' — Значением по умолчанию является 1.

    • 'BlockSize'

    • 'RandomStream'

    • 'ResponseTransform'

    • 'Weights' — Значение должно быть длинным массивом.

    • 'BetaTolerance' — Значение по умолчанию ослабляется к 1e–3.

    • 'GradientTolerance' — Значение по умолчанию ослабляется к 1e–5.

    • 'HessianHistorySize'

    • 'IterationLimit' — Значение по умолчанию ослабляется к 20.

    • 'OptimizeHyperparameters'

    • 'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitrkernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)).

  • Если 'KernelScale' 'auto', затем fitrkernel использует случайный поток, которым управляет tallrng для подвыборки. Для воспроизводимости необходимо установить seed случайных чисел и для глобального потока и для случайного потока, которым управляет tallrng.

  • Если 'Lambda' 'auto', затем fitrkernel может взять дополнительный проход через данные, чтобы вычислить количество наблюдений в X.

  • fitrkernel использует мудрую блоком стратегию. Для получения дополнительной информации см. Алгоритмы.

fitrlinear
  • Некоторые аргументы пары "имя-значение" имеют различные значения по умолчанию и значения по сравнению с fitrlinear в оперативной памяти функция. Поддерживаемые аргументы пары "имя-значение" и любые различия:

    • 'Epsilon'

    • 'ObservationsIn' — Поддержки только 'rows'.

    • 'Lambda' — Может быть 'auto' (значение по умолчанию) или скаляр.

    • 'Learner'

    • 'Regularization' — Поддержки только 'ridge'.

    • 'Solver' — Поддержки только 'lbfgs'.

    • 'Verbose' — Значением по умолчанию является 1

    • 'Beta'

    • 'Bias'

    • 'FitBias' — Поддержки только true.

    • 'Weights' — Значение должно быть длинным массивом.

    • 'HessianHistorySize'

    • 'BetaTolerance' — Значение по умолчанию ослабляется к 1e-3.

    • 'GradientTolerance' — Значение по умолчанию ослабляется к 1e-3.

    • 'IterationLimit' — Значение по умолчанию ослабляется к 20.

    • 'OptimizeHyperparameters' — Значение 'Regularization' параметром должен быть 'ridge'.

    • 'HyperparameterOptimizationOptions' — Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout' валидация. Например, можно задать fitrlinear(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)).

  • Для длинных массивов fitrlinear реализации LBFGS путем распределения вычисления потери и градиента среди различных частей длинного массива в каждой итерации. Другие решатели не доступны для длинных массивов.

    Когда начальные значения для Beta и Bias не даны, fitrlinear сначала совершенствовал первоначальные оценки параметров, подбирая модель локально к частям данных и комбинируя коэффициенты путем усреднения.

lasso
  • С длинными массивами, lasso использует алгоритм на основе ADMM (Чередующий Метод Направления Множителей).

  • Никакая эластичная сетевая поддержка. 'Alpha' параметр всегда равняется 1.

  • Никакая перекрестная проверка ('CV' параметр) поддержка, которая включает связанный параметр 'MCReps'.

  • Выход FitInfo не содержит дополнительные поля 'SE', 'LambdaMinMSE', 'Lambda1SE', 'IndexMinMSE', и 'Index1SE'.

  • 'Options' параметр не поддержан, потому что он не содержит опции, которые применяются к алгоритму ADMM. Можно настроить аргументы пары "имя-значение" использования алгоритма ADMM.

  • Поддерживаемые аргументы пары "имя-значение":

    • 'Lambda'

    • 'LambdaRatio'

    • 'NumLambda'

    • 'Standardize'

    • 'PredictorNames'

    • 'RelTol'

    • 'Weights'

  • Дополнительные аргументы пары "имя-значение", чтобы управлять алгоритмом ADMM:

    • 'Rho' — Увеличенный лагранжевый параметр, ρ. Значением по умолчанию является автоматический выбор.

    • 'AbsTol' — Абсолютный допуск раньше определял сходимость. Значением по умолчанию является 1e–4.

    • 'MaxIter' — Максимальное количество итераций. Значением по умолчанию является 1e4.

    • 'B0' — Начальные значения для коэффициентов x. Значением по умолчанию является нулевой вектор.

    • 'U0' — Начальные значения масштабированной двойной переменной u. Значением по умолчанию является нулевой вектор.

Классификация

ФункцияПримечания или ограничения

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 свойства:

    • ModelParameters

    • NumObservations

    • HyperparameterOptimizationResults

    • RowsUsed

    • XCentered

    • W

    • X

    • Y

    Кроме того, компактный объект не поддерживает их 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
  • Поддерживаемые синтаксисы:

    • Mdl = fitcnb(Tbl,Y)

    • Mdl = fitcnb(X,Y)

    • Mdl = fitcnb(___,Name,Value)

  • Опции, связанные с плотностью ядра, перекрестной проверкой и гипероптимизацией параметров управления, не поддержаны. Поддерживаемые аргументы пары "имя-значение":

    • 'DistributionNames''kernel' значение не поддержано.

    • 'CategoricalPredictors'

    • 'Cost'

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • 'Weights' — Значение должно быть длинным массивом.

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
  • Поддерживаемые синтаксисы для высокого XYtbl :

    • 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:

    • 'AlgorithmForCategorical'

    • 'CategoricalPredictors'

    • 'Cost' — Столбцы матрицы стоимости C не может содержать Inf или NaN значения.

    • 'MaxNumCategories'

    • 'MaxNumSplits'

    • 'MergeLeaves'

    • 'PredictorNames'

    • 'PredictorSelection'

    • 'Prior'

    • 'Prune'

    • 'PruneCriterion'

    • 'SplitCriterion'

    • 'Surrogate'

    • 'Weights'

  • Для высоких данных, 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.

    1. Если r> NumTrees, затем TreeBagger выборки 'ChunkSize' * NumTrees наблюдения от X, и обучает одно дерево на фрагмент (с каждым фрагментом, содержащим 'ChunkSize' количество наблюдений). Этот сценарий наиболее распространен, когда вы работаете с длинными массивами.

    2. Если rNumTrees, затем TreeBagger обучает приблизительно NumTrees/r деревья в каждом фрагменте, с помощью загружающийся во фрагменте.

    3. Если 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 для получения дополнительной информации.

Сокращение размерности

ФункцияПримечания или ограничения
pca
  • pca работает непосредственно с длинными массивами путем вычисления ковариационной матрицы и использования pcacov в оперативной памяти функция, чтобы вычислить принципиальные компоненты.

  • Поддерживаемые синтаксисы:

    • coeff = pca(X)

    • [coeff,score,latent] = pca(X)

    • [coeff,score,latent,explained] = pca(X)

    • [coeff,score,latent,tsquared] = pca(X)

    • [coeff,score,latent,tsquared,explained] = pca(X)

  • Аргументы пары "имя-значение" не поддержаны.

pcacov, factoran

pcacov и factoran не работайте непосредственно над длинными массивами. Вместо этого используйте C = gather(cov(X)) вычислить ковариационную матрицу длинного массива. Затем можно использовать pcacov или factoran на ковариационной матрице в оперативной памяти. В качестве альтернативы можно использовать pca непосредственно на длинном массиве.

Смотрите также

|

Похожие темы