ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

tall 配列のサポート、使用上の注意事項および制限事項

次の表は、tall 配列をサポートする Statistics and Machine Learning Toolbox™ の関数の一覧です。tall 配列とインメモリ データを完全にサポートするリファレンス ページの場合、"注意または制限" 列は空になっています。

記述統計と可視化

関数注意または制限
binScatterPlot

この関数は、特に tall 配列の可視化用に設計されています。非常に多くのデータ点をプロットするのは現実的ではないので、binScatterPlot はデータ点をビンに要約します。この "ビンの散布図" により、データの高レベルの傾向が明らかになります。

confusionchart 
confusionmat 
corr

'Pearson' タイプのみがサポートされています。

crosstab

4 番目の出力 labels は、未評価の M 個の tall cell 配列が格納されている cell 配列として返されます。M は、入力されたグループ化変数の個数です。各未評価 tall cell 配列 labels{j} には、1 つのグループ化変数のラベルが格納されます。

dummyvar 
geomean 
grpstats
  • 入力データが tall 配列の場合、すべてのグループ化変数は tall でなければならず、行数がデータと同じでなければなりません。

  • whichstats オプションで関数ハンドルを指定することはできません。現在組み込まれているオプションに加えて、whichstats を以下にすることもできます。

    • 'Count' — 非 NaN の個数。

    • 'NNZ' — 非ゼロおよび非 NaN の個数。

    • 'Kurtosis' — 尖度を計算。

    • 'Skewness' — 歪度を計算。

    • 'all-stats' — すべての要約統計を計算。

  • グループの順序は、インメモリの grpstats 計算と同じになる保証はありません。要約統計の行の順序を取得するには、whichstats のオプションとして 'gname' を指定します。たとえば、[means,grpname] = grpstats(x,bins,{'mean','gname'}) はグループが grpname に現れる順序で x 内のグループの平均を返します。

  • "非数値の" 変数に関する要約統計では NaN が返されます。

  • grpstats は常に 1 番目の次元に対して作用します。

  • 入力が tall table である場合、出力も tall table になります。ただし、出力の tall table には、行の名前ではなく、同じ情報が含まれている追加の変数 GroupLabel が格納されます。

harmmean 
ksdensity
  • 入力データの受け渡しまたは並べ替えがさらに必要となる一部のオプションはサポートされていません。

    • 'BoundaryCorrection'

    • 'Censoring'

    • 'Support' (サポートは常に非有界)。

  • (中央絶対偏差ではなく) 標準偏差を使用して帯域幅を計算します。

kurtosis 
prctile
  • Y = prctile(X,p)Y = prctile(X,p,dim) は、以下の場合に (並べ替えに基づくアルゴリズムを使用して) 厳密な百分位数を返します。

    • X が tall 列ベクトルかつ p がスカラー。この場合、dim1 です。

    • X が tall 配列かつ dim1 以外。

    p がベクトルで dim1 である場合、'Method','approximate' を指定して、t-digestに基づく近似アルゴリズムを百分位数の計算に使用しなければなりません。

  • p がスカラーである場合、Y = prctile(X,p,'all') は厳密な百分位数を返します。p がベクトルである場合、近似アルゴリズムを使用するため 'Method','approximate' を指定しなければなりません。

  • 1 番目の次元が vecdim に含まれていない場合、Y = prctile(X,p,vecdim) は厳密な百分位数を返します。1 番目の次元が vecdim に含まれている場合、近似アルゴリズムを使用するため 'Method','approximate' を指定しなければなりません。

quantile
  • Y = quantile(X,p)Y = quantile(X,p,dim) は、以下の場合に (並べ替えに基づくアルゴリズムを使用して) 厳密な分位数を返します。

    • X が tall 列ベクトルかつ p がスカラー。この場合、dim1 です。

    • X が tall 配列かつ dim1 以外。

    p がベクトルで dim1 である場合、'Method','approximate' を指定して、t-digestに基づく近似アルゴリズムを分位数の計算に使用しなければなりません。

  • Y = quantile(X,N) は、quantile が 1 番目以外の次元に沿って作用する場合のみ、正確な分位数を返します。dim1 である場合、近似アルゴリズムを使用するため 'Method','approximate' を指定しなければなりません。

  • p がスカラーである場合、Y = quantile(__,'all') は厳密な分位数を返します。p がベクトルである場合、近似アルゴリズムを使用するため 'Method','approximate' を指定しなければなりません。

  • 1 番目の次元が vecdim に含まれていない場合、Y = quantile(__,vecdim) は厳密な分位数を返します。1 番目の次元が vecdim に含まれている場合、近似アルゴリズムを使用するため 'Method','approximate' を指定しなければなりません。

range 
skewness 
tabulate 
zscore 

確率分布

関数注意または制限
datasample
  • datasample は、大規模なデータセットのランダムなサブセットをプロットおよび近似するための事前処理として有用です。大規模データセットからの抽出では、すべてのデータ点を使用しなくてもデータの傾向が維持されます。標本がメモリに収まるくらいに十分小さい場合は、tall 配列を直接はサポートしないプロット関数および近似関数を適用できます。

  • datasample は、データの 1 番目の次元のみに沿った抽出をサポートします。

  • tall 配列の場合、datasample は復元抽出をサポートしません。'Replace',false を、たとえば datasample(data,k,'Replace',false) のように指定しなければなりません。

  • 'Weights' の値は、data と同じ高さの数値 tall 配列でなければなりません。

  • [Y,idx] = datasample(___) という構文の出力 idx は、data と同じ高さの tall logical ベクトルです。このベクトルは、各データ点が標本に含まれているかどうかを示します。

  • 乱数ストリームを指定する場合、基となる発生器は複数のストリームおよびサブストリームをサポートしなければなりません。乱数ストリームを指定しない場合、datasampletallrng によって制御されるストリームを使用します。

クラスター分析

関数注意または制限
kmeans

  • 以下の構文がサポートされます。

    • idx = kmeans(X,k)

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

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

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

  • サポートされる名前と値のペアの引数および違いは次のとおりです。

    • 'Display' — 既定値は 'iter' です。

    • 'MaxIter'

    • 'Options'statset によって作成される構造体配列の 'TolFun' フィールドのみをサポートします。'TolFun' の既定値は 1e-4 です。関数 kmeans は、点と重心の距離のクラスター内合計に対する終了許容誤差として 'TolFun' の値を使用します。たとえば、'Options',statset('TolFun',1e-8) を指定できます。

    • 'Replicates'

    • 'Start''plus''sample' および数値配列のみをサポートします。

回帰

関数注意または制限

次の回帰クラスの loss および predict メソッドは tall 配列をサポートします。

  • これらのメソッドでは、インメモリ データまたは tall データに対して学習を行ったモデルを使用できます。

  • CompactRegressionTreeloss メソッドは 1 つの出力引数のみをサポートします。

RegressionKernelresume メソッドは tall 配列をサポートします。

  • インメモリ データまたは tall データに対して学習を行ったモデルを使用できます。

  • tall 配列を処理する場合、名前と値のペアの引数 'IterationLimit' の既定値は 20 に緩和されます。

  • resume はブロック単位方式を使用します。詳細については、fitrkernelアルゴリズムの節を参照してください。

cvpartition
  • cvpartition で tall 配列を使用する場合、1 番目の入力引数はグループ化変数 tGroup でなければなりません。1 番目の入力引数として tall スカラーを指定すると、cvpartition でエラーが発生します。

  • cvpartition では、Holdout 交差検証のみについて tall 配列がサポートされます (たとえば、c = cvpartition(tGroup,'HoldOut',p))。既定では、cvpartitiontGroup のクラス情報を使用して観測値を階層的に学習セットとテスト セットに無作為に分割します。パラメーター p は、0 < p < 1 を満たすスカラーです。

  • 非層化 Holdout 分割を作成するには、名前と値のペアの引数 'Stratify' の値として false を指定します (たとえば、c = cvpartition(tGroup,'Holdout',p,'Stratify',false))。

fitglm
  • fitglm に対する入力引数のいずれかが tall 配列である場合、他の入力もすべて tall 配列でなければなりません。これには、名前と値のペア 'Weights''Exclude''Offset' および 'BinomialSize' で指定する空でない変数も含まれます。

  • 既定の反復回数は 5 です。反復回数は、名前と値のペア 'Options' を使用してオプション構造体で渡すことにより変更できます。statset を使用してオプション構造体を作成し、MaxIter に対して異なる値を指定します。

  • tall データの場合、fitglmGeneralizedLinearModel オブジェクトと同じプロパティのほとんどが含まれている CompactGeneralizedLinearModel オブジェクトを返します。主な違いは、コンパクトなオブジェクトがメモリ要件の影響を受けやすいということです。コンパクトなオブジェクトは、データ、またはデータと同じサイズの配列を含むプロパティを含みません。コンパクトなオブジェクトには、以下の 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 に対する入力引数のいずれかが tall 配列である場合、他の入力もすべて tall 配列でなければなりません。これには、名前と値のペア 'Weights' および 'Exclude' で指定する空でない変数も含まれます。

  • 名前と値のペア 'RobustOpts' では tall 配列はサポートされていません。

  • tall データの場合、fitlmLinearModel オブジェクトと同じプロパティのほとんどが含まれている CompactLinearModel オブジェクトを返します。主な違いは、コンパクトなオブジェクトがメモリ要件の影響を受けやすいということです。コンパクトなオブジェクトは、データ、またはデータと同じサイズの配列を含むプロパティを含みません。コンパクトなオブジェクトには、以下の 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 メソッドはサポートされません。

    • 'components' オプションがある anova メソッドはサポートされません。

fitrkernel
  • 一部の名前と値のペアの引数は、インメモリの関数 fitrkernel と既定値が異なります。サポートされる名前と値のペアの引数および違いは次のとおりです。

    • 'BoxConstraint'

    • 'Epsilon'

    • 'NumExpansionDimensions'

    • 'KernelScale'

    • 'Lambda'

    • 'Learner'

    • 'Verbose' — 既定値は 1 です。

    • 'BlockSize'

    • 'RandomStream'

    • 'ResponseTransform'

    • 'Weights' — 値は tall 配列でなければなりません。

    • 'BetaTolerance' — 既定値は 1e–3 に緩和されます。

    • 'GradientTolerance' — 既定値は 1e–5 に緩和されます。

    • 'HessianHistorySize'

    • 'IterationLimit' — 既定値は 20 に緩和されます。

    • 'OptimizeHyperparameters'

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitrkernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

  • 'KernelScale''auto' である場合、fitrkerneltallrng によって制御される乱数ストリームをサブサンプリングに使用します。再現性を得るには、tallrng によって制御される乱数ストリームとグローバル ストリームの両方について乱数のシードを設定しなければなりません。

  • 'Lambda''auto' である場合、fitrkernelX 内の観測値の個数を計算するため、さらにデータを通過する可能性があります。

  • fitrkernel はブロック単位方式を使用します。詳細については、アルゴリズムを参照してください。

fitrlinear
  • 一部の名前と値のペアの引数は、インメモリの関数 fitrlinear と既定値および値が異なります。サポートされる名前と値のペアの引数および違いは次のとおりです。

    • 'Epsilon'

    • 'ObservationsIn''rows' のみをサポートします。

    • 'Lambda''auto' (既定値) またはスカラーを指定できます。

    • 'Learner'

    • 'Regularization''ridge' のみをサポートします。

    • 'Solver''lbfgs' のみをサポートします。

    • 'Verbose' — 既定値は 1

    • 'Beta'

    • 'Bias'

    • 'FitBias'true のみをサポートします。

    • 'Weights' — 値は tall 配列でなければなりません。

    • 'HessianHistorySize'

    • 'BetaTolerance' — 既定値は 1e-3 に緩和されます。

    • 'GradientTolerance' — 既定値は 1e-3 に緩和されます。

    • 'IterationLimit' — 既定値は 20 に緩和されます。

    • 'OptimizeHyperparameters''Regularization' パラメーターの値は 'ridge' でなければなりません。

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitrlinear(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

  • tall 配列の場合、fitrlinear は各反復で損失と勾配の計算を tall 配列のさまざまな部分に分散させることにより LBFGS を実装します。他のソルバーでは tall 配列を使用できません。

    BetaBias の初期値が与えられなかった場合、fitrlinear はデータの一部に対して局所的にモデルをあてはめ、平均化で係数を結合することにより、はじめにパラメーターの初期推定値を改善します。

lasso
  • tall 配列の場合、lasso は ADMM (交互方向乗数法) に基づくアルゴリズムを使用します。

  • Eelastic Net はサポートされません。パラメーター 'Alpha' は常に 1 です。

  • 交差検証 (パラメーター 'CV') はサポートされません。これには、関連パラメーター 'MCReps' が含まれます。

  • 出力 FitInfo に追加フィールド 'SE''LambdaMinMSE''Lambda1SE''IndexMinMSE' および 'Index1SE' は含まれません。

  • ADMM アルゴリズムに適用されるオプションが含まれていないので、パラメーター 'Options' はサポートされません。名前と値のペアの引数を使用して ADMM アルゴリズムを調整できます。

  • 以下の名前と値のペアの引数がサポートされます。

    • 'Lambda'

    • 'LambdaRatio'

    • 'NumLambda'

    • 'Standardize'

    • 'PredictorNames'

    • 'RelTol'

    • 'Weights'

  • 以下は、ADMM アルゴリズムを制御するための追加の名前と値のペアの引数です。

    • 'Rho' — 拡張ラグランジュ パラメーター ρ。既定値は自動選択です。

    • 'AbsTol' — 収束の判別に使用される絶対許容誤差。既定値は 1e–4 です。

    • 'MaxIter' — 最大反復回数。既定値は 1e4 です。

    • 'B0' — 係数 x の初期値。既定値は 0 のベクトルです。

    • 'U0' — スケーリングされた双対変数 u の初期値。既定値は 0 のベクトルです。

分類

関数注意または制限

次の分類クラスの predictlossmargin および edge メソッドは tall 配列をサポートします。

  • これらのメソッドでは、インメモリ データまたは tall データに対して学習を行ったモデルを使用できます。

  • CompactClassificationTreeloss メソッドは 1 つの出力引数のみをサポートします。

ClassificationKernelresume メソッドは tall 配列をサポートします。

  • インメモリ データまたは tall データに対して学習を行ったモデルを使用できます。

  • tall 配列を処理する場合、名前と値のペアの引数 'IterationLimit' の既定値は 20 に緩和されます。

  • resume はブロック単位方式を使用します。詳細については、fitckernelアルゴリズムを参照してください。

fitcdiscr
  • 以下の構文がサポートされます。

    • Mdl = fitcdiscr(Tbl,Y)

    • Mdl = fitcdiscr(X,Y)

    • Mdl = fitcdiscr(___,Name,Value)

    • [Mdl,FitInfo,HyperparameterOptimizationResults] = fitcdiscr(___,Name,Value) — 名前と値のペアの引数 'OptimizeHyperparameters' が指定された場合、fitcdiscr は追加の出力引数 FitInfo および HyperparameterOptimizationResults を返します。

  • 出力引数 FitInfo は、現在は将来の使用のために予約されている空の構造体配列です。

  • 出力引数 HyperparameterOptimizationResults は、ハイパーパラメーターの交差検証最適化を記述する値が関連付けられているハイパーパラメーターの table または BayesianOptimization オブジェクトです。

    モデルの作成時に名前と値のペアの引数 'OptimizeHyperparameters' が空以外であった場合、'HyperparameterOptimizationResults' は空以外になります。'HyperparameterOptimizationResults' の値は、モデルの作成時に名前と値のペアの引数 'HyperparameterOptimizationOptions' について指定した値に依存します。

    • 'bayesopt' (既定) を指定した場合、HyperparameterOptimizationResultsBayesianOptimization クラスのオブジェクトになります。

    • 'gridsearch' または 'randomsearch' を指定した場合、HyperparameterOptimizationResults は table になり、使用したハイパーパラメーター、観測された目的関数の値(交差検証損失)、および最低 (最良) から最高 (最悪) までの観測値の順位が格納されます。

  • サポートされる名前と値のペアの引数および違いは次のとおりです。

    • 'ClassNames'

    • 'Cost'

    • 'DiscrimType'

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitcdiscr(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

    • 'OptimizeHyperparameters' — 最適化で認められるパラメーターは 'DiscrimType' のみです。'auto' を指定すると 'DiscrimType' が使用されます。

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • 'Weights'

  • tall 配列および tall table の場合、fitcdiscrClassificationDiscriminant オブジェクトと同じプロパティのほとんどが含まれている CompactClassificationDiscriminant オブジェクトを返します。主な違いは、コンパクトなオブジェクトがメモリ要件の影響を受けやすいということです。コンパクトなオブジェクトは、データ、またはデータと同じサイズの配列を含むプロパティを含みません。コンパクトなオブジェクトには、以下の 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) — 名前と値のペアの引数 'OptimizeHyperparameters' が指定された場合、fitcecoc は追加の出力引数 FitInfo および HyperparameterOptimizationResults を返します。

  • 出力引数 FitInfo は、現在は将来の使用のために予約されている空の構造体配列です。

  • 交差検証に関連するオプションはサポートされていません。以下の名前と値のペアの引数がサポートされます。

    • 'ClassNames'

    • 'Cost'

    • 'Coding' — 既定値は 'onevsall' です。

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitcecoc(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

    • 'Learners' — 既定値は 'linear' です。'linear''kernel'templateLinear オブジェクト、templateKernel オブジェクト、またはこれらのオブジェクトの cell 配列を指定できます。

    • 'OptimizeHyperparameters' — 線形バイナリ学習器を使用する場合、ハイパーパラメーター 'Regularization' の値は 'ridge' でなければなりません。

    • 'Prior'

    • 'Verbose' — 既定値は 1 です。

    • 'Weights'

  • 以下は、tall 配列専用の追加の名前と値のペアの引数です。

    • 'NumConcurrent' — ファイル I/O 操作を結合することにより並列的に学習をさせるバイナリ学習器の個数を指定する正の整数スカラー。'NumConcurrent' の既定値は 1 であり、これは fitcecoc がバイナリ学習器に逐次的に学習させることを意味します。'NumConcurrent' は、分散クラスター メモリに入力配列が収まらない場合に最も有益です。それ以外の場合は、入力配列をキャッシュできるので、高速化を無視できます。

      Apache Spark™ で独自のコードを実行する場合、通信に使用できるメモリによって NumConcurrent の上限が制限されます。使用している Apache Spark の構成の 'spark.executor.memory' および 'spark.driver.memory' プロパティをチェックしてください。詳細は、parallel.cluster.Hadoopを参照してください。Apache Spark、およびコードの実行場所を制御する他の実行環境の詳細については、他の製品による tall 配列の拡張 (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' — 値は tall 配列でなければなりません。

    • 'OptimizeHyperparameters'

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitckernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

  • 'KernelScale''auto' である場合、fitckerneltallrng によって制御される乱数ストリームをサブサンプリングに使用します。再現性を得るには、tallrng によって制御される乱数ストリームとグローバル ストリームの両方について乱数のシードを設定しなければなりません。

  • 'Lambda''auto' である場合、fitckernelX 内の観測値の個数を計算するため、さらにデータを通過する可能性があります。

  • fitckernel はブロック単位方式を使用します。詳細については、アルゴリズムを参照してください。

templateKernel

  • tall 配列を処理する場合、以下の名前と値のペアの引数は既定値が異なります。

    • 'Verbose' — 既定値は 1 です。

    • 'BetaTolerance' — 既定値は 1e–3 に緩和されます。

    • 'GradientTolerance' — 既定値は 1e–5 に緩和されます。

    • 'IterationLimit' — 既定値は 20 に緩和されます。

  • 'KernelScale''auto' である場合、templateKerneltallrng によって制御される乱数ストリームをサブサンプリングに使用します。再現性を得るには、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' — 値は tall 配列でなければなりません。

    • 'HessianHistorySize'

    • 'BetaTolerance' — 既定値は 1e–3 に緩和されます。

    • 'GradientTolerance' — 既定値は 1e–3 に緩和されます。

    • 'IterationLimit' — 既定値は 20 に緩和されます。

    • 'OptimizeHyperparameters''Regularization' パラメーターの値は 'ridge' でなければなりません。

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitclinear(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

  • tall 配列の場合、fitclinear は各反復で損失と勾配の計算を tall 配列のさまざまな部分に分散させることにより LBFGS を実装します。他のソルバーでは tall 配列を使用できません。

    BetaBias の初期値が与えられなかった場合、fitclinear はデータの一部に対して局所的にモデルをあてはめ、平均化で係数を結合することにより、パラメーターの初期推定値を改善します。

templateLinear

  • tall 配列を処理する場合、以下の名前と値のペアの引数は既定値が異なります。

    • 'Lambda''auto' (既定値) またはスカラーが可能

    • 'Regularization''ridge' のみをサポート

    • 'Solver''lbfgs' のみをサポート

    • 'FitBias'true のみをサポート

    • 'Verbose' — 既定値は 1

    • 'BetaTolerance' — 既定値は 1e–3 に緩和される

    • 'GradientTolerance' — 既定値は 1e–3 に緩和される

    • 'IterationLimit' — 既定値は 20 に緩和される

  • tall 配列が含まれている templateLinear オブジェクトを fitcecoc で使用する場合、使用可能なソルバーは LBFGS だけです。各反復で損失と勾配の計算を tall 配列のさまざまな部分に分散させることにより、 LBFGS が実装されます。BetaBias の初期値を指定しなかった場合、データの一部に対して局所的にモデルをあてはめ、平均化で係数を結合することにより、パラメーターの初期推定が改善されます。

fitcnb
  • 以下の構文がサポートされます。

    • Mdl = fitcnb(Tbl,Y)

    • Mdl = fitcnb(X,Y)

    • Mdl = fitcnb(___,Name,Value)

  • カーネル密度、交差検証およびハイパーパラメーター最適化に関連するオプションはサポートされません。以下の名前と値のペアの引数がサポートされます。

    • 'DistributionNames''kernel' という値はサポートされません。

    • 'CategoricalPredictors'

    • 'Cost'

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • 'Weights' — 値は tall 配列でなければなりません。

fitctree
  • 以下の構文がサポートされます。

    • tree = fitctree(Tbl,Y)

    • tree = fitctree(X,Y)

    • tree = fitctree(___,Name,Value)

    • [tree,FitInfo,HyperparameterOptimizationResults] = fitctree(___,Name,Value) — 名前と値のペアの引数 'OptimizeHyperparameters' が指定された場合、fitctree は追加の出力引数 FitInfo および HyperparameterOptimizationResults を返します。

  • 出力引数 FitInfo は、現在は将来の使用のために予約されている空の構造体配列です。

  • 出力引数 HyperparameterOptimizationResults は、ハイパーパラメーターの交差検証最適化を記述する値が関連付けられているハイパーパラメーターの table または BayesianOptimization オブジェクトです。

    モデルの作成時に名前と値のペアの引数 'OptimizeHyperparameters' が空以外であった場合、'HyperparameterOptimizationResults' は空以外になります。'HyperparameterOptimizationResults' の値は、モデルの作成時に名前と値のペアの引数 'HyperparameterOptimizationOptions' について指定した値に依存します。

    • 'bayesopt' (既定) を指定した場合、HyperparameterOptimizationResultsBayesianOptimization クラスのオブジェクトになります。

    • 'gridsearch' または 'randomsearch' を指定した場合、HyperparameterOptimizationResults は table になり、使用したハイパーパラメーター、観測された目的関数の値(交差検証損失)、および最低 (最良) から最高 (最悪) までの観測値の順位が格納されます。

  • サポートされる名前と値のペアの引数および違いは次のとおりです。

    • 'AlgorithmForCategorical'

    • 'CategoricalPredictors'

    • 'ClassNames'

    • 'Cost'

    • 'HyperparameterOptimizationOptions' — 交差検証として、tall 最適化では 'Holdout' 検証のみがサポートされます。たとえば、fitctree(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2)) を指定できます。

    • 'MaxNumCategories'

    • 'MaxNumSplits' — tall 最適化の場合、fitctree は、既定では範囲 [1,max(2,min(10000,NumObservations-1))] の対数スケールで整数を探索します。

    • 'MergeLeaves'

    • 'MinLeafSize'

    • 'MinParentSize'

    • 'NumVariablesToSample'

    • 'OptimizeHyperparameters'

    • 'PredictorNames'

    • 'Prior'

    • 'ResponseName'

    • 'ScoreTransform'

    • 'SplitCriterion'

    • 'Weights'

  • 以下は、tall 配列専用の追加の名前と値のペアの引数です。

    • 'MaxDepth' — 出力される木の最大の深さを指定する正の整数。この引数の値を指定すると、レベル数が少なく、計算対象の tall 配列に対して必要な通過回数が少ない木が返されます。一般に、fitctree のアルゴリズムでは、データを 1 回通過し、木の各レベルに対してさらに 1 回ずつ通過します。既定では、この関数は最大の木の深さを設定しません。

TreeBagger
  • tall 型の XYTbl について、次の構文がサポートされます。

    • B = TreeBagger(NumTrees,Tbl,Y)

    • B = TreeBagger(NumTrees,X,Y)

    • B = TreeBagger(___,Name,Value)

  • tall 配列の場合、TreeBagger は分類をサポートしますが、回帰はサポートしません。

  • 以下の名前と値のペアがサポートされます。

    • 'NumPredictorsToSample' — 既定値は分類用の変数の個数の平方根です。

    • 'MinLeafSize' — 観測値の個数が 50,000 より少ない場合、既定値は 1 です。観測値の個数が 50,000 以上である場合、既定値は max(1,min(5,floor(0.01*NobsChunk))) です。NobsChunk はチャンク内の観測値の個数です。

    • 'ChunkSize' (tall 配列の場合のみ) - 既定値は 50000 です。

    さらに、TreeBagger は次の fitctree のオプション引数をサポートします。

    • 'AlgorithmForCategorical'

    • 'CategoricalPredictors'

    • 'Cost' — コスト行列 C の列に Inf 値または NaN 値を含めることはできません。

    • 'MaxNumCategories'

    • 'MaxNumSplits'

    • 'MergeLeaves'

    • 'PredictorNames'

    • 'PredictorSelection'

    • 'Prior'

    • 'Prune'

    • 'PruneCriterion'

    • 'SplitCriterion'

    • 'Surrogate'

    • 'Weights'

  • tall データの場合、TreeBagger は完全な TreeBagger オブジェクトと同じプロパティのほとんどが含まれている CompactTreeBagger オブジェクトを返します。主な違いは、コンパクトなオブジェクトの方がメモリ効率が良いということです。コンパクトなオブジェクトは、データ、またはデータと同じサイズの配列を含むプロパティを含みません。

  • 返される CompactTreeBagger オブジェクトに含まれる木の本数は、関数 TreeBagger に対する入力として指定した木の本数と異なる場合があります。TreeBagger は、入力データセットのサイズや木の成長に使用できるデータ チャンクの個数などの要因に基づいて、返す木の本数を決定します。

  • サポートされている CompactTreeBagger のメソッドは次のとおりです。

    • combine

    • error

    • margin

    • meanMargin

    • predict

    • setDefaultYfit

    errormarginmeanMarginpredict メソッドは名前と値のペアの引数 'Trees''TreeWeights''UseInstanceForTree' をサポートしません。meanMargin メソッドは 'Weights' もサポートしません。

  • TreeBagger は、互いに素であるデータのチャンクに対して木を生成することによりランダム フォレストを作成します。ランダム フォレストの作成に必要な数より多いデータを使用できる場合、データはサブサンプリングされます。同様の例については、Random Forests for Big Data (Genuer、Poggi、Tuleau-Malot、Villa-Vialaneix 2015) を参照してください。

    データの格納方法によっては、一部のデータ チャンクにはすべてのクラスのうちの数個のクラスの観測値しか含まれない場合があります。この場合、TreeBagger は、各データ チャンクにほとんどのクラスの観測値が含まれている場合より劣る結果を生成する可能性があります。

  • TreeBagger アルゴリズムの学習時の速度、精度およびメモリ使用量は、いくつかの要因によって変化します。このような要因には、NumTrees'ChunkSize''MinLeafSize' および 'MaxNumSplits' の値が含まれます。

    n 行 p 列の tall 配列 X に対して、TreeBagger は学習時にサンプリングを実施します。このサンプリングは以下の変数に依存します。

    • 木の本数 NumTrees

    • チャンク サイズ 'ChunkSize'

    • 観測値の個数 n

    • チャンクの個数 r (n/'ChunkSize' とほぼ同じ)

    与えられた X に対して n の値は固定なので、TreeBagger による X のサンプリングに影響を与えるのは NumTrees'ChunkSize' の設定です。

    1. r > NumTrees である場合、TreeBagger'ChunkSize' * NumTrees 個の観測値を X からサンプリングし、チャンクごとに 1 本の木に学習をさせます (各チャンクには 'ChunkSize' 個の観測値が含まれています)。tall 配列を処理する場合、この状況が最も一般的です。

    2. r ≤ NumTrees である場合、TreeBagger はチャンク内でブートストラッピングを使用して、各チャンクで約 NumTrees/r 本の木に学習をさせます。

    3. n ≤ 'ChunkSize' である場合、TreeBagger はブートストラッピングを使用して、個々の木に学習をさせるサンプル (それぞれサイズは n) を生成します。

  • NumTrees の値を指定するときは、以下を考慮します。

    • Hadoop® 分散ファイル システム (HDFS™) にデータセットが分散している状態で Apache Spark でコードを実行する場合、データセットに対する HDFS のパーティション数の 2 倍以上を NumTrees の値として指定することから始めます。このように設定すると、Apache Spark の executor 間で過剰なデータ通信が行われなくなり、TreeBagger アルゴリズムのパフォーマンスを向上させることができます。

    • TreeBagger は、生成される CompactTreeBagger モデル内のあてはめた木をクライアント メモリにコピーします。このため、クライアントの使用可能メモリ量によって、NumTrees に対して設定できる値の上限が決まります。'MinLeafSize''MaxNumSplits' の値を調整すると速度とメモリ使用状況を向上させることができますが、これにより予測精度は低下します。調整後、データセットに対する HDFS のパーティション数の 2 倍より NumTrees の値が小さくなる場合は、パーティションが大きくなるように HDFS 内のデータを再パーティション化することを検討してください。

    NumTrees の値を指定した後で、TreeBagger がほとんどのデータを使用して木を成長させるようにするため、'ChunkSize' を設定します。理想的には、'ChunkSize' * NumTrees がデータの行数 n に近くなるようにします。個々の木に学習をさせるためのワーカーにおける使用可能メモリも 'ChunkSize' の上限を決定する場合があることに注意してください。

    メモリ不足エラーを回避しワークフローがサポートされるように、Apache Spark のメモリ プロパティを調整できます。詳細は、parallel.cluster.Hadoopを参照してください。

次元削減

関数注意または制限
pca
  • pca は、共分散行列を計算し、インメモリの関数 pcacov を使用して主成分を計算することにより、tall 配列を直接操作します。

  • 以下の構文がサポートされます。

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

  • 名前と値のペアの引数はサポートされません。

pcacovfactoran

pcacovfactoran では、tall 配列を直接操作することはできません。代わりに、C = gather(cov(X)) を使用して tall 配列の共分散行列を計算します。このようにすると、インメモリの共分散行列に対して pcacov または factoran を使用できます。または、pca を tall 配列に対して直接使用できます。

参考

|

関連するトピック