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

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

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

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

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

confusionchart 
confusionmat 
corr

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

crosstab

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

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

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

    • количество Количество 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) и Y = prctile(X,p,dim) возвращают точные процентили (использующий основанный на сортировке алгоритм) при этих условиях:

    • X является высоким вектор-столбцом, и p является скаляром. В этом случае dim является 1.

    • X является длинным массивом, и dim не является 1.

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

  • Y = prctile(X,p,'all') возвращает точные процентили, когда p является скаляром. Если p является вектором, то необходимо задать 'Method','approximate', чтобы использовать алгоритм аппроксимации.

  • Y = prctile(X,p,vecdim) возвращает точные процентили, если vecdim не включает первую размерность. Если vecdim включает первую размерность, то необходимо задать 'Method','approximate', чтобы использовать алгоритм аппроксимации.

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

    • X является высоким вектор-столбцом, и p является скаляром. В этом случае dim является 1.

    • X является длинным массивом, и dim не является 1.

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

  • Y = quantile(X,N) возвращает точные квантили только, когда quantile действует по измерению кроме первой размерности. Если dim является 1, то необходимо задать 'Method','approximate', чтобы использовать алгоритм аппроксимации.

  • Y = quantile(__,'all') возвращает точные квантили, когда p является скаляром. Если p является вектором, то необходимо задать 'Method','approximate', чтобы использовать алгоритм аппроксимации.

  • Y = quantile(__,vecdim) возвращает точные квантили, если vecdim не включает первую размерность. Если vecdim включает первую размерность, то необходимо задать 'Method','approximate', чтобы использовать алгоритм аппроксимации.

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)

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

    • Отображение Значением по умолчанию является 'iter'.

    • 'MaxIter'

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

    • 'Replicates'

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

Регрессия

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

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 является длинным массивом, то все другие входные параметры должны быть длинными массивами также. Это включает непустые переменные, предоставленные парами "имя-значение" 'Exclude' и 'Weights'.

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

    • 'AlgorithmForCategorical'

    • 'CategoricalPredictors'

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

    • '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 и train одно дерево на фрагмент (с каждым фрагментом, содержащим количество '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 непосредственно на длинном массиве.

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

|

Похожие темы