主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

fitrsvm

サポートベクターマシン回帰モデルの近似

说明

fitrsvmは,低〜中间元のの子データセットサポートベクター(svm)回帰回帰に学习をせるか,svm回帰モデルの交差検证行。fitrsvmは,カーネル关键ををするするするし,目的关键词によるのための二次计画によるによる,の二次计画法による,ISDAまたはl1ソフトマージンマージン最しサポートしししししし

高次元データセット,つまり多数の予測子変数が含まれているデータセットに対して線形SVM回帰モデルに学習をさせるには,代わりにFitrinear.を使用します。

バイナリ分类用途のsvmモデルに学习をさせる方法については,低〜中炎元の予测子データセットの合fitcsvm,高次元データセットの場合はfitclinearを参照してください。

MDL.= fitrsvm(资源描述ResponseVarName的)は,テーブル资源描述に含まれている予测子の値とtbl.responseVarname.に含まれている応答値を使用して学習させた,完全な学習済みサポートベクターマシン(SVM)回帰モデルMDL.を返します。

MDL.= fitrsvm(资源描述公式的)は,テーブル资源描述内の予測子の値を使用して学習させた,完全なSVM回帰モデルを返します。公式MDL.のあてはめに使使用する応答および资源描述内の予測子変数サブセットの説明モデルです。

MDL.= fitrsvm(资源描述y的)は,テーブル资源描述内の予測子の値とベクトルy内の応答値を使用して学習させた,完全な学習済みSVM回帰モデルを返します。

MDL.= fitrsvm(Xy的)は,行列X内の予測子の値とベクトルy内の応答値を使用して学習させた,完全な学習済みSVM回帰モデルを返します。

MDL.= fitrsvm(___名称,价值的)は1つ以上の名前と値のペアの引数で指定された追加オプションと前の構文のいずれかを使用してSVM回帰モデルを返します。たとえば,カーネル関数を指定したり,交差検証済みモデルを学習させることができます。

すべて折りたたむ

行动に格式さている标データデータ使しサポートマシン(svm)回帰回帰に学习

carsmallデータセットを読み込みます。

加载carsmallrng“默认”%的再现性

予测子阶数(X)として马力重量を,応答変数(y)として英里/加仑を指定します。

x = [马力,重量];Y = MPG;

既定のSVM回帰モデルに学習をさせます。

Mdl = fitrsvm (X, Y)
Mdl = RegressionSVM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Alpha: [75x1 double] Bias: 57.3958 KernelParameters: [1x1 struct] NumObservations: 93 BoxConstraints: [93x1 struct] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [93x1 logical] Solver: 'SMO'属性,方法

MDL.は学习させたRegressionSVMモデルです。

モデルが収束したかチェックします。

Mdl.ConvergenceInfo.Converged
ANS =.逻辑0.

0.は,モデルが収束しなかったことを示します。

標準化したデータを使用して,モデルを再学習させます。

MdlStd = fitrsvm (X, Y,“标准化”,真的)
MdlStd = RegressionSVM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Alpha: [77x1 double] Bias: 22.9131 KernelParameters: [1x1 struct] Mu: [109.3441 2.9625e+03] Sigma: [45.3545 805.9668] numobservers: 93 BoxConstraints: [93x1 double] ConvergenceInfo: [1x1 struct] IsSup金宝appportVector: [93x1 logical] Solver:SMO的属性,方法

モデルが収束したかチェックします。

MdlStd.ConvergenceInfo.Converged
ANS =.逻辑1

1は,モデルが収束したことを示します。

新しいモデルの再代入(標本内)平均二乗誤差を計算します。

lStd = resubLoss (MdlStd)
LSTD = 17.0256.

UCI机器学习储存库

データをダウンロードして,'abalone.csv'という名前で現在のフォルダに保存します。

url =“https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data”;websave ('abalone.csv'url);

データをテーブルにます。

varnames = {“性”'长度'“直径”“高度”“Whole_weight”...“Shucked_weight”“Viscera_weight”'shell_weight'“戒指”};台= readtable ('abalone.csv'“文件类型”“文本”'readvariablenames'、假);Tbl.Properties.VariableNames = varnames;

标本データには4177个の観测値が含まれています。を除くすべての予測子変数は連続です。この変数はカテゴリカル変数で,可能な値は“米”(雄)、“F”(雌)および“我”(稚貝)です。目標は,物理的な測定値を使用して(戒指に格式されているアワビの轮の数号予测,年份を决定すること。

自动カーネルカーネルのカーネルを回帰て。

rng默认的%的再现性Mdl = fitrsvm(资源描述,“戒指”“KernelFunction”'高斯'“KernelScale”'汽车'...“标准化”,真的)
mdl = regressionsvm predictornames:{1×8 cell} resportename:'rings'patporicalpricictors:1 responsefransform:'none'alpha:[3635×1双]偏置:10.8144内核参数:[1×1结构] mu:[1×10双] Sigma:[1×10双] NumObservations:4177 BoxConstraints:[4177×1双] ColoupGenceInfo:[1×1结构] IssupportVector:[4177×1金宝app逻辑]求解器:'smo'

MDL.が学習済みのRegressionSVMモデルであることとプロパティのリストがコマンドウィンドウに表示されます。

ドット表记を使使用して,MDL.〖图库“

conv = mdl.convergenceInfo.converged Iter = mdl.numentations
conv =逻辑1 iter = 2759

返された结果は,このモデルが2759回の反复后に收束したことを示しています。

carsmallデータセットを読み込みます。

加载carsmallrng“默认”%的再现性

予测子阶数(X)として马力重量を,応答変数(y)として英里/加仑を指定します。

X =[马力重量];Y = MPG;

5分钟の交差検证を使て2つのsvm回帰回帰モデルを交差検证しし両ののモデルについてについてししのモデルの标准标准をししますますモデルでは既定の形形形をををををををををををををのののののの形カーネルをカーネルを使用して学习を行うように指定します。

mdllin = fitrsvm(x,y,“标准化”,真的,“KFold”5)
MdlLin = RegressionPartitionedSVM CrossValidatedModel: 'SVM' PredictorNames: {'x1' 'x2'} ResponseName: 'Y' NumObservations: 94 KFold: 5 Partition: [1x1 cvpartition] ResponseTransform: 'none'属性,方法
MdlGau = fitrsvm (X, Y,“标准化”,真的,“KFold”5,“KernelFunction”'高斯'的)
mdlgau =回归partitionedsvm crossvalidatedmodel:'svm'predictornames:{'x1'x2'} racatectename:'y'numobservations:94 kfold:5分区:[1x1 cvpartition] responseetransform:'无'属性,方法
MdlLin。训练有素的
ans =5×1单元阵列{1x1 classreg.learning.regr.compactregressionsvm} {1x1 classreg.learning.regr.compactregressionsvm} {1x1 classreg.learning.regr.compactregressionsvm} {1x1 classreg.learning.regr.compactregressionsvm} {1x1 classreg.learning.regr.compactregressionsvm}

MdlLinMdlGauRegressionPartitionedSVM交差検証済みモデルです。各モデルの训练有素的プロパティは,CompactRegressionSVMモデルによる5行1列の细胞配列配列。セルセルのモデルは,観测観测ののを4つ使の,1つの分享到户外し习习行ったが格式ささった结果が纳され

モデルの汎化誤差を比較します。このケースでは,汎化誤差は標本外平均二乗誤差です。

mseLin = kfoldLoss (MdlLin)
mseLin = 17.4417
mseGau = kfoldLoss (MdlGau)
mseGau = 16.7355

ガウスカーネルを使用するSVM回帰モデルの方が,線形カーネルを使用するモデルより性能が優れています。

データセット全体をfitrsvmに渡すことにより,予測に適しているモデルを作成し,より高性能のモデルをもたらした名前と値のペアの引数をすべて指定します。ただし,交差検証オプションは指定しません。

MdlGau = fitrsvm (X, Y,“标准化”,真的,“KernelFunction”'高斯');

一連の自動車のMPGを予測するため,自動車の馬力および重量の測定値が格納されているテーブルとMDL.预测に渡します。

この例では,fitrsvmを使用して自動的にハイパーパラメーターを最適化する方法を示します。この例では,carsmallデータを使使ます。

carsmallデータセットを読み込みます。

加载carsmall

予测子阶数(X)として马力重量を,応答変数(y)として英里/加仑を指定します。

X =[马力重量];Y = MPG;

自動的なハイパーパラメーター最適化を使用して,5分割交差検証損失を最小化するハイパーパラメーターを求めます。

再現性を得るために,乱数シードを設定し,“expected-improvement-plus”の獲得関数を使用します。

rng默认的Mdl = fitrsvm (X, Y,'OptimizeHyperParameters''汽车'...“HyperparameterOptimizationOptions”结构('获取功能名称'...“expected-improvement-plus”))
|====================================================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | BoxConstraint | KernelScale |ε| | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | | | |====================================================================================================================| | 最好1 | | 6.8077 | 10.787 | 6.8077 | 6.8077 | 0.35664 | 0.043031 | 0.30396 | | 2 |最好| 2.9108 | 0.081877 | 2.9108 | 3.1259 | 70.67 | 710.65 | 1.6369 | | 3 |接受| 4.1884 | 0.20844 | 2.9108 | 3.1211 | 14.367 | 0.0059144 | 442.64 | | 4 |接受| 4.159 | 0.083731 | 2.9108 | 3.0773 | 0.0030879 | 715.31 | 2.6045 | | 5 |的| 2.902 | 0.21632 | 2.902 | 2.9015 | 969.07 | 703.1 | 0.88614 | | 6 |接受| 4.1884 | 0.060628 | 2.902|2。9017 | 993.93 | 919.26 | 22.16 | | 7 | Accept | 2.9307 | 0.11344 | 2.902 | 2.9018 | 219.88 | 613.28 | 0.015526 | | 8 | Accept | 2.9537 | 0.43364 | 2.902 | 2.9017 | 905.17 | 395.74 | 0.021914 | | 9 | Accept | 2.9073 | 0.11177 | 2.902 | 2.9017 | 24.242 | 647.2 | 0.17855 | | 10 | Accept | 2.9044 | 0.29262 | 2.902 | 2.9017 | 117.27 | 173.98 | 0.73387 | | 11 | Accept | 2.9035 | 0.089326 | 2.902 | 2.9016 | 1.3516 | 131.19 | 0.0093404 | | 12 | Accept | 4.0917 | 0.080273 | 2.902 | 2.902 | 0.012201 | 962.58 | 0.0092777 | | 13 | Accept | 2.9525 | 1.035 | 2.902 | 2.902 | 77.38 | 65.508 | 0.0093299 | | 14 | Accept | 2.9352 | 0.11476 | 2.902 | 2.9019 | 21.591 | 166.43 | 0.035214 | | 15 | Accept | 2.9341 | 0.18814 | 2.902 | 2.9019 | 45.286 | 207.56 | 0.009379 | | 16 | Accept | 2.9104 | 0.13257 | 2.902 | 2.9018 | 0.064315 | 23.313 | 0.0093341 | | 17 | Accept | 2.9056 | 0.14982 | 2.902 | 2.9018 | 0.33909 | 40.311 | 0.053394 | | 18 | Accept | 2.9335 | 0.22816 | 2.902 | 2.8999 | 0.9904 | 41.169 | 0.0099688 | | 19 | Accept | 2.9885 | 0.30387 | 2.902 | 2.8994 | 0.0010647 | 32.9 | 0.013178 | | 20 | Accept | 4.1884 | 0.1126 | 2.902 | 2.9 | 0.0014524 | 1.9514 | 856.49 | |====================================================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | Epsilon | | | result | log(1+loss) | runtime | (observed) | (estim.) | | | | |====================================================================================================================| | 21 | Accept | 2.904 | 0.13183 | 2.902 | 2.8835 | 88.487 | 405.92 | 0.44372 | | 22 | Accept | 2.9107 | 0.10942 | 2.902 | 2.8848 | 344.34 | 992 | 0.28418 | | 23 | Accept | 2.904 | 0.080631 | 2.902 | 2.8848 | 0.92028 | 70.985 | 0.52233 | | 24 | Accept | 2.9145 | 0.096946 | 2.902 | 2.8822 | 0.0011412 | 18.159 | 0.16652 | | 25 | Best | 2.8909 | 0.23112 | 2.8909 | 2.8848 | 0.7614 | 17.3 | 1.9075 | | 26 | Accept | 2.9188 | 0.13747 | 2.8909 | 2.8816 | 0.31049 | 18.301 | 0.35285 | | 27 | Accept | 2.9327 | 0.10354 | 2.8909 | 2.8811 | 0.015362 | 20.395 | 1.6596 | | 28 | Accept | 2.897 | 0.17449 | 2.8909 | 2.8811 | 3.3454 | 46.537 | 2.224 | | 29 | Accept | 4.1884 | 0.082271 | 2.8909 | 2.881 | 983.2 | 0.52308 | 910.91 | | 30 | Accept | 2.9167 | 0.084943 | 2.8909 | 2.8821 | 0.0011533 | 10.597 | 0.029731 |

图中包含一个坐标轴。标题为“最小目标vs.函数计算数”的轴包含2个类型为line的对象。这些对象代表最小观测目标、最小估计目标。

__________________________________________________________ 优化完成。maxobjective达到30个。总函数计算:30总运行时间:53.5026秒总目标函数计算时间:16.0569BoxConstraint KernelScale Epsilon _____________ ___________ _______ 0.7614 17.3 1.9075观测目标函数值= 2.8909估计目标函数值= 2.8957函数计算时间= 0.23112最佳估计可行点(根据模型):BoxConstraint KernelScale Epsilon _____________ ___________ _______ 88.487 405.92 0.44372估计的目标函数值= 2.8821估计的函数计算时间= 0.13339
Mdl = RegressionSVM ResponseName:‘Y’CategoricalPredictors: [] ResponseTransform:‘没有’α:[86 x1双]偏见:46.2480 KernelParameters: [1 x1 struct] NumObservations: 93 HyperparameterOptimizationResults: [1 x1 BayesianOptimization] BoxConstraints: x1双[93]ConvergenceInfo: [1 x1 struct] IsSupportVector: x1逻辑[93]解金宝app算器:SMO的属性,方法

最適化では,BoxConstraintKernelScaleおよび埃斯利昂に対して探索を行いました。出力は,推定交差検証損失が最小になる回帰です。

入力引数

すべて折りたたむ

モデルを学习するに使标标标。资源描述の各行は1つの観測値に,各列は1つの予測子変数に対応します。オプションとして,资源描述に応答変数用の列を1つ追加できます。文字ベクトルの细胞配列ではない cell 配列と複数列の変数は使用できません。

资源描述に応答変数が含まれている場合に资源描述内の他の変数をすべて予測子として使用するには,ResponseVarNameを使用して応答変数を指定します。

资源描述に応答変数が含まれている場合に资源描述内の他のののの一道のみをを子としてとしてには,公式を使用して式を指定します。

资源描述に応答変数が含まれていない場合は,yを使用して応答変数を指定します。応答変数の長さと资源描述の行数は,同じでなければなりません。

资源描述の行またはyの要素に1つ以上のが含まれているいる合书,モデルを学习させるときにfitrsvmはその行および要素を両方の引数から削除します。

予测子の名前を资源描述に表示される順序で指定するには,PredictorNames名前と値のペアの引数を使用します。

データ型:桌子

応答分数の名前。资源描述内の変数の名前で指定します。応答変数は,数値ベクトルでなければなりません。

ResponseVarNameには文字ベクトルまたは字符串スカラーを指定しなければなりません。たとえば,応答変数y资源描述资源描述。yとして格納されている場合,'是'を指定します。それ以外の場合,モデルを学習させるときに,资源描述の列はyを含めてすべて予测子として扱われます。

データ型:字符|字符串

応答変数および予測子変数サブセットの説明モデル。'y〜x1 + x2 + x3'という形式の文字ベクトルまたは字符串スカラーを指定します。この形式では,yは応答変数を,x1x2およびx3は予測子変数を表します。

モデルに学习をさせるせるのの子として资源描述内内ののサブセットをするに,式を使指定ます。公式に現れない资源描述内の変数は使用されません。

式の変数名は资源描述の変数名(tbl.properties.variablenames.)であり,有效なmatlab®識別子でなければなりません。関数Isvarname.を使用して资源描述の変数名を検証できます。変数名が有効でない場合,関数matlab.lang.makevalidname.を使用してそれらを変換できます。

データ型:字符|字符串

応答データ.N行1列の数値ベクトルを指定します。yの長さと资源描述またはXの行数は,同じでなければなりません。

资源描述またはXの行,またはyの要素に1つ以上のが含まれているいる合书,モデルを学习させるときにfitrsvmはその行および要素を両方の引数から削除します。

応答変数名を指定するには,ractoreName.名前と値のペアの引数を使用します。

データ型:单身的|

SVM回帰モデルをあてはめる対象なるなる子データ.n行P列の数码行程列指定します。nは観测観测の。

yの長さとXの行数はは等しくなければませませ

Xの行またはyの要素に1つ以上のが含まれているいる合,fitrsvmはその行および要素を両方の引数から削除します。

予测子の名前をXに表示される順序で指定するには,PredictorNames名前と値のペアの引数を使用します。

データ型:单身的|

名前と値のペアの引数

オプションの名称,价值的名字は数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:'erernelfunction','高斯','标准化',true,'crossval','开'は,ガウスカーネルと標準化した学習データを使用して10分割の交差検証SVM回帰モデルを学習させます。

メモ

交差検证の名前とののペアののを名称と値のペアペア幂'OptimizeHyperParameters'と同時に使用することはできません。'OptimizeHyperParameters'の場合の交差検証は,名前と値のペアの引数“HyperparameterOptimizationOptions”を使用することのみによって変更できます。

サポートベクターマシンのオプション

すべて折りたたむ

アルファ分数の制约。“BoxConstraint”と正のスカラー値から構成されるコンマ区切りのペアとして指定します。

α系数の绝対値がBoxConstraintの値を超えることはできません。

カーネル関数が'高斯'または'rbf'の場合,BoxConstraintの既定値はIQR(Y)/1.349です。IQR(Y)は,応答函数yのの分位数范囲です。他のすべてのカーネルのの合书,BoxConstraintの既定値は1です。

例:BoxConstraint,10

データ型:单身的|

グラム行列の計算に使用するカーネル関数。“KernelFunction”と次の表の値から构成されるコンマ区切りのペアとして指定します。

说明
'高斯'または'rbf' ガウスガウスまたは基于关联(RBF)カーネル

G X j X K. 的) = 经验值 X j X K. 2 的)

'线性' 線形カーネル

G X j X K. 的) = X j ' X K.

'多项式' 多重式カーネル。'polynomialOrder',问:をを用して多项式カーネルカーネル顺序顺序(问:)を指定します。

G X j X K. 的) = 1 + X j ' X K. 的) 问:

独自のカーネル関数を設定することもできます。たとえば,'erernelfunction','内核'を設定すると核心がが设定されれこの核心は次の形式でなければなりません。

函数G =内核(U, V)
ここで,

  • は,m行p列の行列です。

  • V.は,n行p列の行列。

  • Gは,m行n列で構成される,V.の行のグラム行列です。

kernel.mは,MATLABパス上になければなりません。

たとえば,シグモイドカーネル关键词くださいない关键词ください。たとえば,シグモイドカーネル关键“乙状结肠”ではなく'mysigmoid'などの名前を使用します。

例:“KernelFunction”、“高斯”

データ型:字符|字符串

カーネルスケールパラメーター。“KernelScale”と,'汽车'Xのすべての要素がKernelScaleの値で除算されます。その後,適切なカーネルノルムが適用され,グラム行列が計算されます。

  • '汽车'を指定した場合,ヒューリスティック手法を使用して適切なスケール係数が選択されます。このヒューリスティック手法では副標本抽出を使用するので,呼び出すたびに推定値が変化する可能性があります。このため,結果を再現するには,学習の前にrngを使用して乱数シードを設定します。

  • 'erernelfunction','内核'のようにKernelScaleと独自のカーネル关数を指定すると,エラーが発生します。核心の内部でスケーリングを适用しなければなりません。

例:“KernelScale”、“汽车”

データ型:|单身的|字符|字符串

多重式カーネル关节数。“PolynomialOrder”と正の整数から成るコンマ区切りのペアとして指定されます。

KernelFunction'多项式'ではない場合に“PolynomialOrder”を設定すると,エラーがスローされます。

例:“PolynomialOrder”,2

データ型:|单身的

カーネルオフセットパラメーター。“KernelOffset”と非負のスカラーで構成されるコンマ区切りのペアとして指定します。

KernelOffsetがグラム行列の各要素に追加されます。

既定値は以下のとおりです。

  • ソルバーがSMOの場合(つまり,“规划求解”、“SMO的はを設定した場合)0.

  • ソルバーがISDAのの合(つまり,“规划求解”、“ISDA的はを設定した場合)0.1

例:“KernelOffset”,0

データ型:|单身的

不少房间ののののの分。‘ε’と非负のスカラー値から构成されるコンマ区切りのペアとして指定します。

埃斯利昂の既定値は,差(Y) / 13.49です。これこれ,応答応答yの四分位数間範囲を使用した標準偏差の1/10の推定値です。IQR(Y)がゼロに等しい場合,埃斯利昂の既定値は0.1になります。

例:'epsilon',0.3

データ型:单身的|

予測子データを標準化するためのフラグ。“标准化”真的1)または错误的(0)から構成されるコンマ区切りのペアとして指定します。

“标准化”,真的を設定した場合,次のようになります。

  • 列の加重平均と標準偏差によって予測子データ(X)の各列がそれぞれセンタリングおよびスケーリングされます(重みを付けた標準化の詳細についてはアルゴリズムを参照してください)。MATLABでは、カテゴリカル予測子用に生成されたダミー変数の列に含まれているデータは標準化されません。

  • モデルの学習には標準化された予測子行列が使用されますが,モデルのXプロパティには標準化されていないデータが格納されます。

例:“标准化”,真的

データ型:逻辑

最适化ルーチン'求解'と次の表の値から构成されるコンマ区切りのペアとして指定します。

说明
'ISDA' 反復単一データアルゴリズム([30]参照)
“L1QP” quadprog(优化工具箱)を使使し二二によるによるl1ソフトマージンマージン小气を装配しします优化工具箱™ライセンスが必要です。详细详细,二次計画法の定義(优化工具箱)を参照してください。
'smo' 逐次最小最適化 ([17]参照)

既定値は以下のとおりです。

  • 'OutlierFraction'を正の値に设定たた场合'ISDA'

  • それ以外の場合は'smo'

例:“规划求解”、“ISDA的

アルファ分数の初推定値。“α”と数値ベクトルから构成されるコンマ区切りのペアとして指定します。αの長さはXの行数と等価でなければなりません。

  • αの各要素はXの観测値に対応します。

  • αを格納できません。

  • αを交差検証の名前と値のペアの引数('横穿'“CVPartition”“坚持”“KFold”または'忽略')のいずれかと同時に指定すると,エラーが返されます。

yに欠损値が含まれているいるは,欠损値に対応するすべて行をyXおよびαつまり,次次のようにに入しし。

idx = ~ isnan (Y);Y = Y (idx);X = X (idx:);α=α(idx);
そして,yXおよびαをを応答値,予测子およびアルファのの推定値としてます。

既定の設定は0(大小(Y, 1))です。

例:“阿尔法”,0.1 *(大小(X, 1), 1)

データ型:单身的|

キャッシュサイズ。“CacheSize”'最大'または正のスカラーで構成されるコンマ区切りのペアとして指定します。

缓存'最大'の場合,n行n列のグラム行列を保持できる十分なメモリが確保されます。

缓存が正のスカラーの場合,モデルの学習用に缓存メガバイトのメモリが確保されます。

例:'缓存','maximal'

データ型:|单身的|字符|字符串

アルファ係数をクリップするためのフラグ。'clipalphas'真的または错误的のいずれかから構成されるコンマ区切りのペアとして指定します。

観測値jのアルファ係数がαj,観测値jのボックス制约がcjであるとします(j = 1,...,n).nは学习标本のです。

说明
真的 各反復でαjが0またはcjに近い場合,MATLABでαjがそれぞれ0またはcjに設定されます。
错误的 最適化時にMATLABでアルファ係数は変更されません。

matlabでは,学校済みのsvmモデルオブジェクトのαプロパティに最終的なαの値が格納されます。

ClipAlphasは,SMOとISDAの収束に影響を与える可能性があります。

例:“ClipAlphas”,假的

データ型:逻辑

最适化诊断メッセージ出力の反复回数。“NumPrint”と非負の整数で構成されるコンマ区切りのペアとして指定します。

“详细”,1'numprint',numprintを指定すると,numprint回反復するたびにSMOとISDAからのすべての最適化診断メッセージがコマンドウィンドウに表示されます。

例:'numprint',500

データ型:|单身的

学習データで想定される外れ値の比率。'OutlierFraction'と区間(0,1)の数値スカラーから構成されるコンマ区切りのペアとして指定します。fitrsvmは勾配が大きい観測値を削除するので,収束に達するまでに,upileierfraction.で指定された比率の観測値をfitrsvmが削除することが保証されます。この名前と値のペアはは,'求解''ISDA'の場合のみ有効です。

例:'OutlierFraction',0.1

データ型:单身的|

学士学位'removeruplicates'真的または错误的から構成されるコンマ区切りのペアとして指定します。

RemoveDuplicates真的の場合,fitrsvmは学習データ内の重複する観測値を同じ値の単一の観測値に置き換えます。単一の観測値の重みは,削除された対応する重複の重みの合計に等しくなります(重量を参照)。

ヒント

多数の重複する観測値がデータセットに含まれている場合は,“RemoveDuplicates”,真的を指定すると收束时间が大幅に短くなる可能性があります。

データ型:逻辑

详细レベル。“详细”0.1または2から構成されるコンマ区切りのペアとして指定します。verbの値は,コマンドウィンドウに表示され構造体としてMdl.ConvergenceInfo.Historyに保存される最適化情報の量を制御します。

次の表は,使用できる詳細レベルオプションの一覧です。

说明
0. 收束情报の表示や保存は行われません。
1 诊断メッセージが表示され,numprint回の反復ごとに収束基準が保存されます。ここで,numprintは名前と値のペアの引数“NumPrint”の値です。
2 診断メッセージが表示され,1回の反復ごとに収束基準が保存されます。

例:“详细”,1

データ型:|单身的

他の回帰のオプション

すべて折りたたむ

カテゴリカル予測子のリスト。次の表のいずれかの値として指定します。

说明
正の数量のベクトル

ベクトルの各エントリは,カテゴリカル変数が含まれている予测子データの列に対応するインデックス値です。インデックス値の范囲は1〜P.です。P.はモデルの学習に使用した予測子の数です。

fitrsvmがが力量変のを子としてとしてとしてする合,关节て子にインデックスをして子にインデックスをし応答変変て値重み変変。'patericalpricictors'値でカウントされません。

逻辑ベクトル

真的というエントリは,予測子データの対応する列がカテゴリカル変数であることを意味します。ベクトルの長さはP.です。

文字行列 行列の各行は予測子変数の名前です。名前はPredictorNamesのエントリに一致しなくてはなりません。文字行列の各行が同じ長さになるように、名前を余分な空白で埋めてください。
文字ベクトルの细胞配列または字符串配列 配列の各要素はは子位数の名前。名称はPredictorNamesのエントリに一致しなくてはなりません。
'全部' すべての予測子がカテゴリカルです。

既定では,予測子データがテーブル(资源描述)内にある场合,fitrsvmは,その源が逻辑ベクトル,分类ベクトル,文章配列,字符串配列または文ベクトルベクトル细胞配列配列いずれかであるであるに,数码を分类であると见ます。X)である場合,fitrsvmはすべての予測子が連続的であると見なします。他の予測子をカテゴリカル予測子として指定するには,名前と値の引数'patericalpricictors'を使用してそれらを指定します。

特价されたカテゴリカルカテゴリカル子に対して,fitrsvmはカテゴリカル変数に順序が設定されていないか順序が設定されているかに応じて,2つの異なる方式を使用してダミー変数を作成します。順序付けのないカテゴリカル変数の場合,fitrsvmは,そのカテゴリカルカテゴリカル数のレベルレベルについてについてについてについてダミーダミーををし顺序さされたたカテゴリカルカテゴリカルのの合数fitrsvmは,カテゴリの数よりも1つ少ないダミー変数を作成します。詳細については,ダミー変数の自動作成を参照してください。

例:'pationoricalpricictors','全部'

データ型:单身的||逻辑|字符|字符串|细胞

予测子数量名称。一流名称の弦串配列または一意な字の细胞PredictorNamesの机械は,学校データデータ提供方法によってによってます。

  • Xyを指定した場合,PredictorNamesを使用してX内の予测子変数に名前を割り当てることができます。

    • PredictorNames内の名前の順序は,Xの列の順序に一致しなければなりません。つまり,PredictorNames {1}X (: 1)の名前,PredictorNames {2}X (:, 2)の名前であり,他も同様です。また,大小(X, 2)numel(predictornames)は等しくなければなりません。

    • 既定ではPredictorNames{'x1','x2',...}です。

  • 资源描述を指定する場合,PredictorNamesを使用して学習に使用する予測子変数を選択できます。つまり,fitrsvmは,学習中にPredictorNamesの予測子変数と応答変数のみを使用します。

    • PredictorNamestbl.properties.variablenames.のサブセットでなければならず,応答変数の名前を含めることはできません。

    • 既定では,すべての予测子参数の名前がPredictorNamesに格式さされ。

    • 'predictornames'公式の両方ではなく,いずれか一方を使用して学習用の予測子を指定することをお勧めします。

例:'predictornames',{'sepallength','sepalwidth','petallength','petalwidth'}

データ型:字符串|细胞

応答変数名。文字ベクトルまたは字符串スカラーとして指定します。

  • yを指定した場合,'responsebame'を使用して応答変数の名前を指定できます。

  • ResponseVarNameまたは公式を指定した場合,'responsebame'をを用品

例:'responsebame','响应'

データ型:字符|字符串

応答の変換。'没有任何'既定のの设定はかと设定设定しいずれとして设定のかと设定设定しかして设定设定'没有任何'です。これこれ@(y)y,つまり変換なしを表します。MATLAB関数またはユーザー定義関数の場合は、応答変換用の関数ハンドルを使用します。関数ハンドルは、ベクトル (元の応答値) を受け入れて同じサイズのベクトル (変換した応答値) を返さなければなりません。

例:myfunction = @ (y) exp (y)をを変换してとしますますしますますしますますこのます。myfunction ResponseTransform,を指定できます。

データ型:字符|字符串|function_handle.

観測値の重み。“重量”と数値ベクトルから构成されるコンマ区切りのペアとして指定します。重量のサイズはXの行数とと等しくなければませませfitrsvmは,合肥が1になるように重量の値を正規化します。

データ型:单身的|

交差検証オプション

すべて折りたたむ

交差検証フラグ。'横穿'と,'在'または“关闭”で構成されるコンマ区切りのペアとして指定します。

'在'を指定した場合10分割の交差検証が実施されます。

このこの交差検证のの设定をオーバーライドするに,名称とと値ののペアのCVPartition坚持KFold忽略交差いずれかをを使ます。交差検证済みモデルを作物作作作作作作作者们名称と値のペアののはと値ののの。

または横梁メソッドを使用して後からモデルの交差検証を行うことができます。

例:“CrossVal”,“上”

交差交差分享。CVPartition.で作成したCVPartition.分享到。分享到は,交差検证のと,学校セットおよびタイプとのをを指定ます。

交差検证済みモデルの作物作物で指定名前と値ののはCVPartition坚持KFold忽略の4つのうちのいずれかのみです。

例:CVP = CVPartition(500,'Kfold',5)500年を使用して個の観測値に対する5分割交差検証について無作為な分割を作成するとします。この場合,“CVPartition”,本量利を使用して交差検証済みモデルを指定できます。

ホールドアウト検証に使用されるデータの比率。(0,1)の範囲のスカラー値として指定します。'扑腾',pを指定した場合,以下の手順が実行されます。

  1. p * 100%のデータを無作為に選択して検証データとして確保し,残りのデータを使用してモデルに学習をさせる。

  2. コンパクトな学习済みモデルをを交差検证済みモデルの训练有素的プロパティに格納する。

交差検证済みモデルの作物作物で指定名前と値ののはCVPartition坚持KFold忽略の4つのうちのいずれかのみです。

例:“坚持”,0.1

データ型:|单身的

交差検证済みモデルで使用する分割の数0.1より大きい正の整数値として指定します。'kfold',kを指定した場合,以下の手順が実行されます。

  1. データを無作為にK.個のセットに分割する。

  2. 各セットについて,そのセットを検定データとして確保し,他のK.- 1个のセットを使使しモデルに习习ささせる。

  3. K.个のコンパクトな学习习済みを,交差検证済みモデルの训练有素的プロパティに含まれているK.行1列の细胞ベクトルに格納する。

交差検证済みモデルの作物作物で指定名前と値ののはCVPartition坚持KFold忽略の4つのうちのいずれかのみです。

例:'kfold',5

データ型:单身的|

分析法の交差検証のフラグ。'在'または“关闭”として指定します。“Leaveout”,“上”を指定したた合,n个の観测値(nは,モデルのnumobservations.プロパティで指定される,欠損観測値を除外した観測値の個数)のそれぞれについて以下の手順が実行されます。

  1. いずれかの観測値を検証データとして確保し,他のn - 1個の観測値を使用してモデルに学習をさせる。

  2. n個のコンパクトな学習済みモデルを,交差検証済みモデルの训练有素的プロパティに含まれているn行1列の细胞ベクトルに格納する。

交差検证済みモデルの作物作物で指定名前と値ののはCVPartition坚持KFold忽略の4つのうちのいずれかのみです。

例:“Leaveout”,“上”

収束制御

すべて折りたたむ

SMOまたはISDAで取得した上位の違反値と下位の違反値の間の勾配差分の許容誤差。'deltagrienttolerance'と非負のスカラーから構成されるコンマ区切りのペアとして指定します。

例:“DeltaGradientTolerance”,1的军医

データ型:单身的|

SMOまたはISDAにより取得された実実実性のギャップの许容许容'gaptolerance'と非負のスカラーで構成されるコンマ区切りのペアとして指定します。

GapTolerance0.の場合,fitrsvmはこのパラメーターを収束のチェックに使用しません。

例:'gaptolerance',1e-4

データ型:单身的|

数字値最适化最大大数。'iterationlimit'と正の整数値で構成されるコンマ区切りのペアとして指定します。

最适析ルーチン正常收束ししかどうに系,学校済みのモデルが返されれれれMdl。ConvergenceInfoに収束情報が格納されます。

例:“IterationLimit”,1 e8

データ型:|单身的

カルーシュ·キューン·タッカー(kkt)违反の许容误差。“KKTTolerance”と非负のスカラー値から构成されるコンマ区切りのペアとして指定します。

この名前と値のペアはは,'求解''smo'または'ISDA'の場合のみ適用されます。

KKTTolerance0.の場合,fitrsvmはこのパラメーターを収束のチェックに使用しません。

例:'kkttolerance',1e-4

データ型:单身的|

アクティブセットの縮小間の反復回数。“ShrinkagePeriod”と非負の整数から構成されるコンマ区切りのペアとして指定します。

'shrinkateperiod',0を設定すると,アクティブセットは縮小されません。

例:'ShrinkatePeriod',1000

データ型:|单身的

ハイパーパラメーターの最適化

すべて折りたたむ

最最化するパラメーター。'OptimizeHyperParameters'と次のいずれかから構成されるコンマ区切りのペアとして指定します。

  • '没有任何'- 最最适を行为ません。

  • '汽车'-{‘BoxConstraint’,‘KernelScale’,‘ε’}を使用します。

  • '全部'——すべての使用可能パラメーターを最適化します。

  • 使用可能パラメーター名の字符串配列または细胞配列。

  • 优化不变オブジェクトのベクトル。通常はhyperparametersの出力です。

最適化では,パラメーターを変化させることにより,fitrsvmの交差検证损失(误差)をを小气しようしますますます。HyperparameterOptimizationOptionsを使用します。

メモ

'OptimizeHyperParameters'の値は,他の名前と値のペアの引数を使用して設定した値より優先されます。たとえば,'OptimizeHyperParameters''汽车'に設定すると,'汽车'の値が適用されます。

fitrsvmでは,以下のパラメーターを使用できます。

  • BoxConstraint-fitrsvmは,既定では範囲(1 e - 3, 1 e3)の対数スケールで,正の値を探索します。

  • KernelScale-fitrsvmは,既定では範囲(1 e - 3, 1 e3)の対数スケールで,正の値を探索します。

  • 埃斯利昂-fitrsvmは,既定では範囲[1E-3,1E2] * IQR(Y)/1.349の対数スケールで,正の値を探索します。

  • KernelFunction-fitrsvm'高斯''线性'および'多项式'で探索します。

  • PolynomialOrder-fitrsvmは,範囲(2、4)の整数値を探索します。

  • 标准化-fitrsvm'真的''错误的'で探索します。

既定以外のパラメーターを設定するには,既定以外の値が含まれている优化不变オブジェクトのベクトルを渡します。たとえば,以下のようにします。

加载carsmallparams = hyperparameters (“fitrsvm”(功率、重量),MPG);参数(1)。范围=(1的军医,1 e6);

OptimizeHyperparametersの値として参数を渡します。

既定では,コマンドラインに反复表示が表示され,最适化のハイパーパラメーターの个数に従ってプロットが表示されます。最适化とプロットにおける目的关数は,回帰の场合は日志(1 +交叉验证丢失),分享到の合并は误率率です。反复反复表示を制御するに,名称とと値のペアペアの“HyperparameterOptimizationOptions”verbフィールドを設定します。プロットを制御するには,名前と値のペアの引数“HyperparameterOptimizationOptions”ShowPlotsフィールドを設定します。

たとえば,SVM回帰の最适化を参照してください。

例:'OptimizeHyperParameters','auto'

最適化のオプション。“HyperparameterOptimizationOptions”と構造体から構成されるコンマ区切りのペアとして指定します。この引数を指定すると,名前と値のペアの引数OptimizeHyperparametersの効果が変化します。この構造体のフィールドは,すべてオプションです。

フィールド名 既定の设定
优化器
  • 'Bayesopt'——ベイズ最適化を使用。内部的にはBayesopt.が呼び出されます。

  • 'gridsearch'- 次元ごとにnumgriddivivivents.の値があるグリッド探索を使用。

  • “randomsearch”-maxobjectiveevaluations.个の点でで作用为に探索。

'gridsearch'では,グリッドからの一様な非復元抽出により,無作為な順序で探索します。最適化後、sortrows(mdl.hyperParameterOptimationResults)コマンドを使用してグリッド顺のテーブルを取得できます。

'Bayesopt'
获取功能名称

  • “expected-improvement-per-second-plus”

  • '预期改善'

  • “expected-improvement-plus”

  • '预期 - 每秒改善'

  • “lower-confidence-bound”

  • “probability-of-improvement”

オブジェクト関数のランタイムによって最適化が異なるので,名前に每秒が含まれている获得关键数号,再现性がある结果生成しませ。名称にが含まれている獲得関数は,領域を過剰利用している場合に動作を変更します。詳細は,获得关节を参照してください。

“expected-improvement-per-second-plus”
maxobjectiveevaluations. 目的关键词。 'Bayesopt'または“randomsearch”の结合は30.'gridsearch'の場合はグリッド全体
MaxTime

制限時間。正の実数を指定します。制限時間の単位は,tTOC.によって测定される秒です。MaxTimeは関数評価を中断させないため,実行時間がMaxTimeを超える可能性があります。

numgriddivivivents. 'gridsearch'における各次元の値の個数。値は那各次元の値の個数を表す正の整数のベクトル、またはすべての次元に適用されるスカラーが可能です。カテゴリカル変数の場合、このフィールドは無視されます。 10.
ShowPlots プロットを表示するかどうかを示す论理値。真的の場合,最良の目的関数の値が反復回数に対してプロットされます。1つまたは2つの最適化パラメーターがあり,优化器'Bayesopt'であるである合,ShowPlotsはパラメーターに対する目的关键词 真的
Saptintermediateresults. 优化器'Bayesopt'である場合に結果を保存するかどうかを示す論理値。真的の場合,'贝叶特遗露'という名前のワークワークスペース反复ごとに上书さこのますますますはBayesianOptimizationオブジェクトです。 错误的
verb

コマンドラインへの表示。

  • 0.——反復表示なし

  • 1- 反复表示あり

  • 2——追加情報付きで反復表示あり

詳細については,Bayesopt.の名前と値のペアの引数verbを参照してください。

1
使用指α. ベイズ最最化を并列するかどうかかをするするかかかを示す。并行计算工具箱X™が必要です。并列でのタイミング再现性がため,并列ベイズ最适で再现性ある结果が生成ささるとは限制ませませんについてについて,並列ベイズ最適化を参照してください。 错误的
重新分区

反復ごとに交差検証を再分割するかどうかを示す論理値。错误的の場合,オプティマイザーは単一の分割を最適化に使用します。

分享ノイズが考虑さので,通讯は真的ただし,真的で良好な結果を得るには,2倍以上の関数評価が必要になります。

错误的
以下の3つのフィールド名は1つだけ使使使。
CVPartition CVPartition.によって作成されるCVPartition.オブジェクト。 交差検証フィールドが指定されていない場合“Kfold”,5
坚持 ホールドアウトの比率を表す範囲(0,1)のスカラー。
Kfold 1より大きい整数。

例:'hyperparameteroptimizationOptions',struct('maxobjectiveevaluations',60)

データ型:塑造

出力引数

すべて折りたたむ

学習済みのSVM回帰モデル。RegressionSVMモデルまたはRegressionPartitionedSVM交差検证済みモデルとして返さますます。

以下名前とのペアペアのののかが设定されててているいる合并,MDL.RegressionPartitionedSVM交差検证済みモデルとなります。KFold坚持忽略横梁またはCVPartition。それ以外の場合,MDL.RegressionSVMモデルです。

制限

fitrsvmは,低~中次元のデータセットをサポートします。高次元データセットの場合は,代わりにFitrinear.を使用してください。

ヒント

  • データセットが大规模でない限制,常に常に子を标准标准しください(标准化を参照してください)。標準化を行うと,予測子を測定するスケールの影響を受けなくなります。

  • 名前と値のペアの引数KFoldを使用して交差検証を行うことをお勧めします。交差検証の結果により,SVMモデルがどの程度一般化を行うかを判断します。

  • SVMモデルでは,サポートベクターの密度が低い方が望ましい状態です。サポートベクターの数を少なくするには,名前と値のペアの引数BoxConstraintを大きい値に設定します。このようにすると,学習時間も長くなります。

  • 学习时间を最适最适にするににはははれるメモリコンピューターで许容れるの缓存を大きくします。

  • サポートベクターのの数が学习セット内の観测値数よりはるかに少ない考えられるられる场场“ShrinkagePeriod”をを使してアクティブを小すると,收束收束大厦に高度化。'ShrinkatePeriod',1000のの用をお勧めし。

  • 回帰直線から離れている重複する観測値は,収束に影響を与えません。しかし,重複する観測値が回帰直線の近くに少しでもあると,収束が大幅に遅くなる可能性があります。収束を高速化するには,次の場合に“RemoveDuplicates”,真的を指定します。

    • 多数の重複する観測値がデータセットに含まれている。

    • 利用

    ただし,学院时に元のセットセットを维持ためため,fitrsvmは複数のデータセット,つまり元のデータセットと重複する観測値を除外したデータセットを一時的に格納しなければなりません。このため,重複がほとんど含まれていないデータセットの場合に真的を指定すると,fitrsvmは元のデータの场合の2倍に近いメモリを消费します。

  • モデルに学習をさせた後で,新しいデータについて応答を予測するC / c++コードを生成できます。C / c++コードの生成にはMATLAB编码器™が必要です。详细详细について,コード生成の紹介を参照してください。

アルゴリズム

  • 线形および非非形SVM回帰回帰の数码的定式化およびソルバーソルバーソルバーについてについてについてについてについてについてについてサポートベクターマシン回帰についてを参照してください。

  • <未定义>,空の文字ベクトル(''),空の字符串(""),および< >失踪値は,欠損データ値を示します。fitrsvmは,欠損応答に対応するデータ行全体を削除します。fitrsvmは,重みを正規化するときに,欠損している予測子が1つ以上ある観測値に対応する重みを無視します。したがって,観測値のボックス制約がBoxConstraintに等しくならない可性性がます。

  • fitrsvmは,重み重みがゼロのの値を削除しし

  • “标准化”,真的“重量”を設定した場合,fitrsvmは対応する加重平均および加重標準偏差を使用して予測子を標準化します。つまり,fitrsvmは以下を使用して予測子j (xj)を標準化します。

    X j = X j μ j σ j

    • μ j = 1 K. W. K. K. W. K. X j K.

    • Xjk.は,予測子j(列)の観測値k(行)です。

    • σ j 的) 2 = V. 1 V. 1 2 V. 2 K. W. K. X j K. μ j 的) 2

    • V. 1 = j W. j

    • V. 2 = j W. j 的) 2

  • 予测カテゴリカルこれらのレベルれれなますます。

    • PredictorNamesプロパティには,元の予測子変数名のそれぞれについて1つずつ要素が格納されます。たとえば,3.つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、PredictorNamesははのの子数量名称が含まれいるいる1行3列の文章ベクトルの细胞配列配列なります。

    • ExpandedPredictorNamesプロパティには,ダミー変数を含む予測子変数のそれぞれについて1つずつ要素が格納されます。たとえば,3.つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、ExpandedPredictorNamesは予測子変数および新しいダミー変数の名前が含まれている1行5列の文字ベクトルの细胞配列になります。

    • 同様に,βプロパティには,ダミー変数を含む各予測子について1つずつベータ係数が格納されます。

    • 金宝appSupportVectorsプロパティプロパティに,ダミーダミー数を含むベクターの子の値がさされますとたとえばつの个ベクターと3つのつの子があり,そのつの子あり,そのうちの1つは3つのレベルがあるカテゴリカルカテゴリカルであるとします。このこの合,金宝appSupportVectorsはm行5列の行列になります。

    • Xプロパティには,はじめに入力した状態で学習データが格納されます。ダミー変数は含まれません。入力がテーブルの場合,Xには予測子として使用した列のみが格納されます。

  • テーブルで予測子を指定した場合,いずれかの変数に順序付きのカテゴリが含まれていると,これらの変数について順序付きエンコードが使用されます。

    • k个个の顺序顺序付きレベルが変にに含まれてているいるいるいる合书,k - 1個のダミー変数が作成されます。j番目のダミー変数は、j までのレベルについては-1J + 1からkまでのレベルについては+1になります。

    • ExpandedPredictorNamesプロパティに格式されるダミー位数の名前は1番目のレベルを示し,値は+1になります。レベル2、3、……kの名前を含むk - 1個の追加予測子名がダミー変数について格納されます。

  • どのソルバーもl1ソフトマージンマージン小气を装配しし。

  • 学习データで想定される外れ値の比率をP.とします。'OutlierFraction',pを設定した場合,“ロバスト学习”が実施されます。この方式では,最適化アルゴリズムが収束すると,観測値のうち100P.%の削除が試行されます。削除された観測値は,勾配の大きいものに対応します。

参照

克拉克,D., Z. Schreter, A. Adams。《Dystal和Backpropagation的定量比较》提交给澳大利亚神经网络会议,1996年。

[2]风扇,R.-e.,P.-h。陈和C.-J.林。“使用用于培训支持向量机的二阶信息的工作设置选择。”金宝app机械学习研究杂志,第6卷,2005年,第1889-1918页。

凯克曼V., T. -M。和M. Vogt。从大数据集训练核机的迭代单数据算法:理论与性能支持向金宝app量机:理论与应用。王力波主编,255-274。柏林:斯普林格出版社,2005年版。

[4] Lichman, M. UCI机器学习知识库[http://archive.ics.uci.edu/ml]。加州欧文:加州大学信息与计算机科学学院。

纳什、w.j.、t.l.塞勒斯、s.r.塔尔博特、a.j.考索恩和w.b.福特。鲍鱼的种群生物学(石决明物种)的塔斯马尼亚岛。I.黑唇鲍鱼(H. Rubra.)从北海岸和巴斯海峡群岛。”海洋渔业司,技术报告第48号,1994年。

[6] Waugh,S。“扩展和基准级联相关性:级联相关架构的扩展和前馈监督人工神经网络的基准。”塔斯马尼亚大学计算机科学论文,1995。

拡張機能

R2015bで導入