主要内容

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

fitcdiscr

判別分析分類器の近似

説明

Mdl= fitcdiscr (资源描述ResponseVarNameは,テ,ブル资源描述に含まれている入力変数(予測子,特徴量または属性とも呼ばれます)とResponseVarNameに含まれている出力(応答またはラベル)に基づいてあてはめた判別分析モデルを返します。

Mdl= fitcdiscr (资源描述公式は,テ,ブル资源描述に含まれている入力変数に基づいてあてはめた判別分析モデルを返します。公式は,Mdlのあてはめに使用する応答および资源描述内の予測子変数サブセットの説明モデルです。

Mdl= fitcdiscr (资源描述Yは,テ,ブル资源描述に含まれている入力変数,および応答Yに基づいてあてはめた判別分析モデルを返します。

Mdl= fitcdiscr (XYは,入力変数Xと応答Yに基づいて判別分析分類器を返します。

Mdl= fitcdiscr (___名称,值は,前の構文のいずれかを使用し,1つ以上の名前と値のペアの引数で指定されたオプションを追加して,分類器をあてはめます。たとえば,モデルの交差検証損失を最小化するようにハイパーパラメーターを最適化したり、誤分類コスト、各クラスの事前確率、観測値の重みを指定できます。

すべて折りたたむ

フィッシャ,のアヤメのデ,タセットを読み込みます。

负载fisheriris

デ,タセット全体を使用して,判別分析モデルに学習をさせます。

Mdl = fitcdiscr(meas,species)
Mdl = ClassificationDiscriminant ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 discritype: 'linear' Mu: [3x4 double] Coeffs: [3x3 struct]属性,方法

MdlClassificationDiscriminantモデルです。プロパティにアクセスするには,ドット表記を使用します。たとえば,各予測子のグル,プ平均を表示します。

Mdl。μ
ans =3×45.0060 3.4280 1.4620 0.2460 5.9360 2.7700 4.2600 1.3260 6.5880 2.9740 5.5520 2.0260

新しい観測値のラベルを予測するには,Mdlと予測子デ,タを预测に渡します。

この例では,fitcdiscrを使用して自動的にハパパラメタを最適化する方法を示します。この例では,フィッシャ,のアヤメのデ,タを使用します。

デ,タを読み込みます。

负载fisheriris

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

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

rng(1) Mdl = fitcdiscr(meas,species,“OptimizeHyperparameters”“汽车”...“HyperparameterOptimizationOptions”...结构(“AcquisitionFunctionName”“expected-improvement-plus”))
|=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFarδ|γ| | | | |结果运行时| | | (estim(观察) .) | | | |=====================================================================================================| | 最好1 | | 0.66667 | 0.67315 | 0.66667 | 0.66667 | 13.261 | 0.25218 | | 2 |最好| 0.02 | 0.26104 | 0.02 | 0.064227 | 2.7404 e-05 | 0.073264 | | 3 | |0.04 | 0.20679 | 0.02 | 0.020084 | 3.2455 e-06 | 0.46974 | | 4 |接受| 0.66667 | 0.22621 | 0.02 | 0.020118 | 14.879 | 0.98622 | | 5 |接受| 0.046667 | 0.24676 | 0.02 | 0.019907 | 0.00031449 | 0.97362 | | 6 |接受| 0.04 | 0.11929 | 0.02 | 0.028438 | 4.5092 e-05 | 0.43616 | | | 7日接受| 0.046667 | 0.37144 | 0.02 | 0.031424 | 2.0973 e-05 | 0.9942 | | 8 |接受| 0.02 | 0.14065 | 0.02 | 0.022424 | 1.0554 e-06 | 0.0024286 | | | 9日接受| 0.02 | 0.16415 | 0.02 | 0.021105 | 1.1232 e-06 |10 0.00014039 | | |接受| 0.02 | 0.13131 | 0.02 | 0.020948 | 0.00011837 | 0.0032994 | | | 11日接受| 0.02 | 0.14712 | 0.02 | 0.020172 | 1.0292 e-06 | 0.027725 | | | 12日接受| 0.02 | 0.18181 | 0.02 | 0.020105 | 9.7792 e-05 | 0.0022817 | | | 13日接受| 0.02 | 0.14687 | 0.02 | 0.020038 | 0.00036014 | 0.0015136 | | | 14日接受| 0.02 | 0.16012 | 0.02 | 0.019597 | 0.00021059 | 0.0044789 | | | 15日接受| 0.02 | 0.12893 | 0.02 | 0.019461 | 1.1911 e-05 | 0.0010135 | | | 16日接受| 0.02 | 0.15378 |0.02|0.01993 | 0.0017896 | 0.00071115 | | 17 | Accept | 0.02 | 0.18935 | 0.02 | 0.019551 | 0.00073745 | 0.0066899 | | 18 | Accept | 0.02 | 0.13916 | 0.02 | 0.019776 | 0.00079304 | 0.00011509 | | 19 | Accept | 0.02 | 0.21697 | 0.02 | 0.019678 | 0.007292 | 0.0007911 | | 20 | Accept | 0.046667 | 0.12909 | 0.02 | 0.019785 | 0.0074408 | 0.99945 | |=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | Delta | Gamma | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Accept | 0.02 | 0.12601 | 0.02 | 0.019043 | 0.0036004 | 0.0024547 | | 22 | Accept | 0.02 | 0.13567 | 0.02 | 0.019755 | 2.5238e-05 | 0.0015542 | | 23 | Accept | 0.02 | 0.19088 | 0.02 | 0.0191 | 1.5478e-05 | 0.0026899 | | 24 | Accept | 0.02 | 0.2272 | 0.02 | 0.019081 | 0.0040557 | 0.00046815 | | 25 | Accept | 0.02 | 0.16125 | 0.02 | 0.019333 | 2.959e-05 | 0.0011358 | | 26 | Accept | 0.02 | 0.21387 | 0.02 | 0.019369 | 2.3111e-06 | 0.0029205 | | 27 | Accept | 0.02 | 0.11586 | 0.02 | 0.019455 | 3.8898e-05 | 0.0011665 | | 28 | Accept | 0.02 | 0.12595 | 0.02 | 0.019449 | 0.0035925 | 0.0020278 | | 29 | Accept | 0.66667 | 0.30871 | 0.02 | 0.019479 | 998.93 | 0.064276 | | 30 | Accept | 0.02 | 0.25502 | 0.02 | 0.01947 | 8.1557e-06 | 0.0008004 |

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

图中包含一个轴。目标函数模型的轴包含直线、曲面、轮廓等5个对象。这些对象代表观测点,模型均值,下一个点,模型最小可行。

__________________________________________________________ 优化完成。最大目标达到30个。总函数评估:30总运行时间:60.9207秒总目标函数评估时间:5.9944最佳观测可行点:Delta Gamma __________ ________ 2.7404e-05 0.073264观测目标函数值= 0.02估计目标函数值= 0.022693函数评估时间= 0.26104最佳估计可行点(根据模型):Delta Gamma __________ _________ 2.5238e-05 0.0015542估计目标函数值= 0.01947估计函数评估时间= 0.15822
Mdl = ClassificationDiscriminant ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 HyperparameterOptimizationResults: [1x1 BayesianOptimization] discritype: 'linear' Mu: [3x4 double] Coeffs: [3x3 struct] Properties, Methods

このあてはめでは,既定の5分割交差検証にいて損失が約2%になりました。

この例では,高配列を使用する判別分析モデルのハイパーパラメーターを自動的に最適化する方法を示します。標本デ,タセットairlinesmall.csv。この例では,データが含まれている tall table を作成して、最適化手順を実行するために使用します。

高配列に対する計算を実行する場合,MATLAB®は並列プール(并行计算工具箱™がある場合は既定)またはローカルのMATLABセッションを使用します。并行计算工具箱がある場合でもローカルのMATLABセッションを使用して例を実行するには,関数mapreduceを使用してグロ,バルな実行環境を変更できます。

デ,タがあるフォルダ,の場所を参照するデ,タストアを作成します。処理する変数のサブセットを選択します。数据存储値に置き換えるため,“NA”値を欠損デ,タとして扱います。デ,タストア内のデ,タを含む高表を作成します。

数据存储(“airlinesmall.csv”);ds。年代electedVariableNames = {“月”“DayofMonth”“DayOfWeek”...“DepTime”“ArrDelay”“距离”“DepDelay”};ds。TreatAsMissing =“NA”;Tt =高(ds)%高桌
使用“本地”配置文件启动并行池(parpool)…连接到平行池(工人数量:6)。tt = M×7高表月DayofMonth DayOfWeek DepTime DepDelay ArrDelay距离  _____ __________ _________ _______ ________ ________ ________ 10 21 642 8 308年12 26 10 23 5 1 1021 8 296 2055 21 480 1332 10 23 5 13 296 12 10 22 4 629 373 1 10 28 3 1446 59 308 63 10 8 4 928 447 2 10 10 6 859 11 954 1  : : : : : : : : : : : : : :

フライトが遅れた場合に真になる論理変数を定義することにより,10分以上遅れたフライトを判別します。この変数にクラスラベルを含めます。この変数のプレビュ,には,はじめの数行が含まれています。

Y = tt。10 . DepDelay >%等级标签
Y = M×1 tall逻辑阵列1 0 1 1 0 1 0 0::

予測子デタの高配列を作成します。

X = tt{:,1:end-1}预测数据
X = M×6高双矩阵1021 3 642 8 308 10 26 1 1021 8 296 10 23 5 2055 21 480 10 23 5 1332 13 296 10 22 4 629 4 373 10 28 3 1446 59 308 10 8 4 928 3 447 10 10 10 6 859 11 954::::::::::::

欠損デ,タが含まれているXおよびYの行を削除します。

R = rmmissing([X Y]);%删除丢失条目的数据X = R(:,1:end-1);Y = R(:,end);

予測子変数を標準化します。

Z = zscore(X);

名前と値のペアの引数“OptimizeHyperparameters”。ホ,ルドアウト交差検証損失が最小になる最適な“DiscrimType”の値を求めます(“汽车”を指定すると“DiscrimType”が使用されます)。再現性を得るため,“expected-improvement-plus”の獲得関数を使用し,rngtallrngにより乱数発生器のシ,ドを設定します。高配列の場合,ワーカーの個数と実行環境によって結果が異なる可能性があります。詳細については、コ,ドの実行場所の制御を参照してください。

rng (“默认”) tallrng (“默认”) [Mdl,FitInfo,HyperparameterOptimizationResults] = fitcdiscr(Z,Y,...“OptimizeHyperparameters”“汽车”...“HyperparameterOptimizationOptions”结构(“坚持”, 0.3,...“AcquisitionFunctionName”“expected-improvement-plus”))
使用并行池“本地”评估高表达式:-通过1 / 2:在5.7秒内完成-通过2 / 2:在4.3秒内完成评估在16秒内完成使用并行池“本地”评估高表达式:-通过1 / 1:在2.5秒完成评估在2.8秒完成  |======================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | DiscrimType | | |结果| |运行时| | (estim(观察) .) | | |======================================================================================| | 最好1 | | 0.11354 | 25.315 | 0.11354 | 0.11354 |二次|
使用并行池“local”评估tall表达式:-通过1 / 1:在1.5秒内完成评估在2.7秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在1.4秒内完成评估在1.6秒内完成| 2 |接受| 0.11354 | 7.9367 | 0.11354 | 0.11354 | pseudoQuadra |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.87秒内完成评估:-通过1 / 1:在0.78秒内完成评估在0.91秒内完成| 3 |接受| 0.12869 | 6.5057 | 0.11354 | 0.11859 |伪线性|
使用并行池“local”评估tall表达式:-通过1 / 1:在0.9秒内完成评估在1.7秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在1.3秒内完成评估在1.4秒内完成| 4 |接受| 0.12745 | 6.4167 | 0.11354 | 0.1208 | diagLinear |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.85秒内完成评估在1.7秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.8秒内完成评估在0.93秒内完成| 5 |接受| 0.12869 | 6.1236 | 0.11354 | 0.12238 |线性|
使用并行池“local”评估tall表达式:-通过1 / 1:在0.85秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.75秒内完成评估在0.9秒内完成| 6 | Best | 0.11301 | 5.4147 | 0.11301 | 0.12082 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.82秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.77秒内完成评估在0.89秒内完成| 7 |接受| 0.11301 | 5.297 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.84秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.8秒内完成评估在0.93秒内完成| 8 |接受| 0.11301 | 5.6152 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在1.3秒内完成评估在2.1秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.75秒内完成评估在0.88秒内完成| 9 |接受| 0.11301 | 5.9147 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.88秒内完成评估在1.6秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在1.3秒内完成评估在1.4秒内完成| 10 |接受| 0.11301 | 6.0504 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.82秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在1.3秒内完成评估在1.4秒内完成| 11 |接受| 0.11301 | 5.9595 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.86秒内完成评估在1.6秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.76秒内完成评估在0.91秒内完成| 12 |接受| 0.11301 | 5.4266 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.88秒内完成评估在1.6秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.75秒内完成评估在0.87秒内完成| 13 |接受| 0.11301 | 5.3869 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.83秒内完成评估在1.5秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.8秒内完成评估在0.97秒内完成| 14 |接受| 0.11301 | 5.4876 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.85秒内完成评估,在1.5秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.73秒内完成评估,在0.85秒内完成| 15 |接受| 0.11301 | 5.4052 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.87秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.78秒内完成评估在0.9秒内完成| 16 |接受| 0.11301 | 5.4434 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估高表达式:-通过1 / 1:在0.89秒内完成评估,在1.6秒内完成评估,使用并行池“本地”:-通过1 / 1:在0.8秒内完成评估,在0.93秒内完成| 17 |接受| 0.11301 | 5.5804 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.94秒内完成评估在1.6秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.79秒内完成评估在0.92秒内完成| 18 |接受| 0.11354 | 5.616 | 0.11301 | 0.11301 | pseudoQuadra |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.85秒内完成评估在1.5秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.76秒内完成评估在0.88秒内完成| 19 |接受| 0.11301 | 5.4031 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估高表达式:-通过1 / 1:在0.76秒内完成评估,在1.4秒内完成评估,使用并行池“本地”:-通过1 / 1:在0.75秒内完成评估,在0.88秒内完成| 20 |接受| 0.11301 | 5.1974 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估高表达式:-通过1 / 1:在0.77秒内完成评估,在1.4秒内完成使用并行池“本地”评估高表达式:-通过1 / 1:在0.75秒完成评估在0.87秒完成  |======================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | DiscrimType | | |结果| |运行时| | (estim(观察) .) | | |======================================================================================| | 21日|接受| 0.11301 | 5.1418 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在1.3秒内完成评估在2秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.73秒内完成评估在0.86秒内完成| 22 |接受| 0.11301 | 5.9864 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.88秒内完成评估在1.6秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.78秒内完成评估在0.91秒内完成| 23 |接受| 0.11354 | 5.5656 | 0.11301 | 0.11301 |二次|
使用并行池“local”评估tall表达式:-通过1 / 1:在0.82秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.77秒内完成评估在0.9秒内完成| 24 |接受| 0.11354 | 5.3012 | 0.11301 | 0.11301 | pseudoQuadra |
使用并行池“local”评估tall表达式:-通过1 / 1:在1.4秒内完成评估在2.1秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.77秒内完成评估在0.9秒内完成| 25 |接受| 0.11301 | 6.2276 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.86秒内完成评估在1.6秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.77秒内完成评估在0.89秒内完成| 26 |接受| 0.11301 | 5.5308 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“本地”评估tall表达式:-通过1 / 1:在0.92秒内完成评估在1.6秒内完成使用并行池“本地”评估tall表达式:-通过1 / 1:在0.88秒内完成评估在1秒内完成| 27 |接受| 0.11301 | 5.7396 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.83秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.78秒内完成评估在0.9秒内完成| 28 |接受| 0.11354 | 5.4403 | 0.11301 | 0.11301 |二次|
使用并行池“local”评估tall表达式:-通过1 / 1:在0.86秒内完成评估在1.5秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.81秒内完成评估在0.93秒内完成| 29 |接受| 0.11301 | 5.3572 | 0.11301 | 0.11301 | diagQuadrati |
使用并行池“local”评估tall表达式:-通过1 / 1:在0.89秒内完成评估在1.6秒内完成使用并行池“local”评估tall表达式:-通过1 / 1:在0.74秒内完成评估在0.85秒内完成| 30 |接受| 0.11354 | 5.2718 | 0.11301 | 0.11301 |二次|

__________________________________________________________ 优化完成。最大目标达到30个。总函数计算:30总运行时间:229.5689秒。总目标函数评估时间:191.058最佳观测可行点:DiscrimType _____________ diagQuadratic观测目标函数值= 0.11301估计目标函数值= 0.11301函数评估时间= 5.4147最佳估计可行点(根据模型):DiscrimType _____________ diagQuadratic估计目标函数值= 0.11301估计函数评估时间= 5.784使用并行池“local”评估高表达式:-通过1 / 1:评估在1.4秒内完成
Mdl = CompactClassificationDiscriminant PredictorNames: {'x1' 'x2' 'x3' 'x4' 'x5' 'x6'} ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [0 1] ScoreTransform: 'none' discritype: 'diagQuadratic' Mu: [2×6 double] Coeffs: [2×2 struct]属性,方法
FitInfo =结构,不带字段。
HyperparameterOptimizationResults = BayesianOptimization with properties: ObjectiveFcn: @createObjFcn/tallObjFcn variabledescription: [1×1 optimizableVariable] Options: [1×1 struct] MinObjective: 0.1130 XAtMinObjective: [1×1 table] MinEstimatedObjective: 0.1130 XAtMinEstimatedObjective: [1×1 table] numobjectiveevalues: 30 TotalElapsedTime: 229.5689 NextPoint: [1×1 table] XTrace: [30×1 table] ObjectiveTrace: [30×1 double] ConstraintsTrace: [] UserDataTrace:{30×1 cell} ObjectiveEvaluationTimeTrace: [30×1 double] IterationTimeTrace: [30×1 double] ErrorTrace: [30×1 double]可行性跟踪:[30×1 logical]可行性概率跟踪:[30×1 double] IndexOfMinimumTrace: [30×1 double] objectivminimumtrace: [30×1 double] estimatedobjectivminimumtrace: [30×1 double]

入力引数

すべて折りたたむ

モデルを学習させるために使用する標本デ,タ。テ,ブルとして指定します。资源描述の各行は1の観測値に,各列は1。オプションとして,资源描述に応答変数用の列を1追加できます。文字ベクトルのcell配列ではない cell 配列と複数列の変数は使用できません。

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

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

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

デ,タ型:表格

応答変数の名前。资源描述内の変数の名前で指定します。

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

応答変数は,绝对配列,文字配列,字符串配列,逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列でなければなりません。Yが文字配列である場合,応答変数の各要素は配列の1の行に対応しなければなりません。

名前と値の引数一会を使用してクラスの順序を指定することをお勧めします。

デ,タ型:字符|字符串

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

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

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

デ,タ型:字符|字符串

クラスラベル。绝对配列,文字配列,弦配列,逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列を指定します。Yの各行は,Xの対応する行の分類を表します。

Y内の(空の文字ベクトル),""(空のstring),< >失踪,および<定义>値は欠損値と見なされます。このため,欠損応答がある観測値は学習に使用されません。

デ,タ型:分类|字符|字符串|逻辑|||细胞

予測子の値。数値行列として指定します。Xの各列が1の変数を表し,各行が1。

fitcdiscrX値を欠損値として認識します。fitcdiscrは,Xの近似において,欠損値のある観測値を使用しません。

デ,タ型:|

名前と値のペアの引数

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

例:“DiscrimType”、“二次”,“SaveMemory”,“上”は2次判別分類器を指定しますが,共分散行列は出力オブジェクトに格納されません。

メモ

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

モデルパラメタ

すべて折りたたむ

学習に使用するクラスの名前。分类配列、文字配列、string 配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列として指定します。一会のデ,タ型は资源描述内の応答変数またはYと同じでなければなりません。

一会が文字配列の場合,各要素は配列の1の行に対応しなければなりません。

一会の使用目的は次のとおりです。

  • 学習時のクラスの順序を指定する。

  • クラスの順序に対応する入力または出力引数の次元の順序を指定する。たとえば,成本の次元の順序や预测によって返される分類スコアの列の順序を指定するために一会を使用します。

  • 学習用にクラスのサブセットを選択する。たとえば,Yに含まれているすべての異なるクラス名の集合が{' a ', ' b ', ' c '}であるとします。クラス“一个”および“c”のみの観測値を使用してモデルに学習をさせるには,“类名”,{' a ', ' c '}を指定します。

一会の既定値は,资源描述内の応答変数またはYに含まれているすべての異なるクラス名の集合です。

例:“类名”,{' b ', ' g '}

デ,タ型:分类|字符|字符串|逻辑|||细胞

点の誤分類のコスト。“成本”と以下のいずれかで構成されるコンマ区切りペアとして指定されます。

  • 正方行列。成本(i, j)は真のクラスがである場合に1の点をクラスjに分類するためのコストです(行は真のクラス,列は予測したクラスに対応します)。成本の対応する行および列にいてクラスの順序を指定するには,名前と値のペアの引数一会をさらに指定します。

  • 2 .年代を構成します。2つのフィールドは、Yと同じ型のグル,プ名を表す変数が格納されているS.ClassNamesと,コスト行列が格納されているS.ClassificationCostsです。

既定値は,我~ = jの場合は成本(i, j) = 1我=我の場合は成本(i, j) = 0です。

デ,タ型:||结构体

線形係数のしきい値。“δ”と非負のスカラ,値で構成されるコンマ区切りのペアとして指定します。Mdlの係数の大きさがδよりも小さい場合,Mdlはこの係数を0に設定します。また,対応する予測子をモデルから削除できます。δを高い値に設定すると,削除できる予測子が多くなります。

2次判別モデルではδ0でなければなりません。

デ,タ型:|

判別タ@ @プ。“DiscrimType”と次の表の文字ベクトルまたは字符串スカラーから構成されるコンマ区切りのペアとして指定します。

説明 予測子の共分散の処理
“线性” 正則化された線形判別分析(lda)
  • すべてのクラスで同じ共分散行列になります。

  • Σ γ 1 γ Σ + γ 诊断接头 Σ

    Σ は経験的なプ,ルされた共分散行列,γは正則化の量です。

“diaglinear” 乔治。 すべてのクラスで同じ対角共分散行列になります。
“pseudolinear” 乔治。 すべてのクラスで同じ共分散行列になります。共分散行列の逆行列には疑似逆行列が使用されます。
“二次” 2次判別分析(qda) 共分散行列はクラスによって異なる可能性があります。
“diagquadratic” QDA 共分散行列は対角行列になり,クラスによって異なる可能性があります。
“pseudoquadratic” QDA 共分散行列はクラスによって異なる可能性があります。共分散行列の逆行列には疑似逆行列が使用されます。

メモ

正則化を使用するには,“线性”を指定しなければなりません。正則化の量を指定するには、名前と値のペアの引数γを使用します。

例:“DiscrimType”、“二次”

多项式系数プロパティフラグ。“FillCoeffs”“上”または“关闭”で構成されるコンマ区切りのペアとして指定します。このフラグを“上”に設定すると多项式系数プロパティが分類器オブジェクトに埋め込まれます。これにより計算量が増加する可能性があります(特に交差検証時)。既定値は“上”です。ただし,交差検証の名前と値のペアを指定した場合は,このフラグの既定値は“关闭”になります。

例:“FillCoeffs”,“关闭”

予測子の共分散行列を推定するときに適用する正則化の量。“伽马”と区間[0,1]にあるスカラ.値から構成されるコンマ区切りのペアとして指定します。γを使用すると,共分散行列の構造をDiscrimTypeより細かく調節できます。

  • 0を指定した場合,正則化を使用する共分散行列の調整は行われません。まり,制限がない経験的な共分散行列が推定および使用されます。

    • 線形判別分析では,経験的な共分散行列が特異である場合,共分散行列の逆行列を計算するために必要な最小の正則化が自動的に適用されます。選択された正則化の量は,コマンドラMdl。γと入力することにより表示できます。

    • 2次判別分析では,特異である経験的共分散行列が少なくとも1つのクラスにある場合,エラーがスローされます。

  • 区間(0,1)にある値を指定した場合,線形判別分析を実装しなければなりません。そうしないとエラ,がスロ,されます。この結果,DiscrimType“线性”に設定されます。

  • 1を指定した場合,最大の正則化が共分散行列の推定に使用されます。まり,共分散行列は対角行列に制限されます。または,対角共分散行列にするため,DiscrimType“diagLinear”または“diagQuadratic”に設定できます。

例:“伽马”,1

デ,タ型:|

予測子変数名。一意な名前の字符串配列または一意な文字ベクトルの单元格配列として指定します。PredictorNamesの機能は,学習デ,タの提供方法によって決まります。

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

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

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

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

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

    • 既定では,すべての予測子変数の名前がPredictorNamesに格納されます。

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

例:PredictorNames,{‘SepalLength’,‘SepalWidth’,‘PetalLength’,‘PetalWidth}

デ,タ型:字符串|细胞

各クラスの事前確率。“之前”と次の表の値から構成されるコンマ区切りのペアとして指定します。

説明
“经验” クラスの事前確率は,Yのクラスの相対的頻度です。
“统一” クラスの事前確率はいずれも1/ k (kはクラス数)となります。
数値ベクトル 各要素はクラスの事前確率です。Mdl.ClassNamesに従って要素を並べ替えるか,一会名前と値のペアの引数を使用して順序を指定します。要素は合計が1になるように正規化されます。
構造体

構造体年代には2のフィルドがあります。

  • S.ClassNamesYと同じ型の変数のクラス名が格納されます。

  • S.ClassProbs:対応する事前確率のベクトルが格納されます。要素は合計が1になるように正規化されます。

权重之前の両方に値を設定した場合は,重みは合計が対応するクラスの事前確率の値になるように再正規化されます。

例:“前”、“制服”

デ,タ型:字符|字符串|||结构体

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

  • Yを指定した場合,“ResponseName”を使用して応答変数の名前を指定できます。

  • ResponseVarNameまたは公式を指定した場合,“ResponseName”を使用することはできません。

例:“ResponseName”、“响应”

デ,タ型:字符|字符串

共分散行列を保存するためのフラグ。“SaveMemory”“上”または“关闭”のいずれかで構成されるコンマ区切りのペアとして指定します。“上”を指定した場合,fitcdiscrにはフルの共分散行列ではなく,行列を計算するために十分な情報が格納されます。预测メソッドは予測のためにフルの共分散行列を計算し,行列は格納しません。“关闭”を指定すると,fitcdiscrはフルの共分散行列を計算し,Mdlに格納します。

入力行列に数千個もの予測子がある場合は,SaveMemory“上”に設定します。

例:“SaveMemory”,“上”

スコア変換。文字ベクトル,字符串スカラ,または関数ハンドルとして指定します。

次の表は,使用可能な文字ベクトルおよび字符串スカラ,をまとめています。

説明
“doublelogit” 1/(1 + e2 x
“invlogit” Log (x / (1 - x))
“ismax” 最大のスコアをも1 0
分对数的 1/(1 + e- x
“没有”または“身份” X(変換なし)
“标志” X < 0のとき-1
X = 0のとき0
X > 0のとき
“对称” 2x - 1
“symmetricismax” 最大のスコアをも1に設定し,他のすべてのクラスのスコアを-1に設定する
“symmetriclogit” 2/(1 + e- x) - 1

Matlab関数またはユ,ザ,定義関数の場合は,スコア変換用の関数ハンドルを使用します。関数ハンドルは,行列 (元のスコア) を受け入れて同じサイズの行列 (変換したスコア) を返さなければなりません。

例:“ScoreTransform”、“分对数的

デ,タ型:字符|字符串|function_handle

観測値の重み。“重量”と,正の値の数値ベクトルまたは资源描述内の変数の名前から構成されるコンマ区切りのペアとして指定します。Xまたは资源描述の各行に含まれている観測値は,权重の対応する値で重み付けされます。权重のサ电子邮箱ズは,Xまたは资源描述の行数と等しくなければなりません。

入力デ,タをテ,ブル资源描述として指定した場合,权重は数値ベクトルが含まれている资源描述内の変数の名前にすることができます。この場合,权重には文字ベクトルまたは字符串スカラ,を指定しなければなりません。たとえば,重みベクトルW资源描述。Wとして格納されている場合,' W 'として指定します。それ以外の場合,モデルに学習をさせるときに、资源描述の列はWを含めてすべて予測子または応答として扱われます。

合計が各クラスの事前確率の値と等しくなるように权重が正規化されます。

既定の設定では,权重(n,1)です。nXまたは资源描述の観測値数です。

デ,タ型:||字符|字符串

交差検証オプション

すべて折りたたむ

交差検証フラグ。“Crossval”“上”または“关闭”から構成されるコンマ区切りのペアとして指定します。

“上”を指定した場合,10分割の交差検証が実施されます。

この交差検証の設定をオバラドするには,名前と値のペアの引数CVPartition坚持KFoldLeaveoutのいずれかを使用します。交差検証済みモデルを作成するために使用できる交差検証の名前と値のペアの引数は,一度に1つだけです。

または,後でMdlcrossvalに渡して交差検証を実行します。

例:“CrossVal”,“上”

交差検証分割。cvpartitionで作成したcvpartition分割オブジェクトとして指定します。分割オブジェクトは,交差検証のタイプと、学習セットおよび検証セットのインデックス付けを指定します。

交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition坚持KFoldLeaveoutの4。

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

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

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

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

交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition坚持KFoldLeaveoutの4。

例:“坚持”,0.1

デ,タ型:|

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

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

  2. 各セットにいて,そのセットを検定デタとして確保し,他のk- 1個のセットを使用してモデルに学習をさせる。

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

交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition坚持KFoldLeaveoutの4。

例:“KFold”,5

デ,タ型:|

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

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

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

交差検証済みモデルの作成で指定できる名前と値の引数は,CVPartition坚持KFoldLeaveoutの4。

例:“Leaveout”,“上”

ハパパラメタ最適化オプション

すべて折りたたむ

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

  • “没有”-最適化を行いません。

  • “汽车”- - - - - -{“三角洲”,“伽马”}を使用します。

  • “所有”—すべての使用可能パラメタを最適化します。

  • 使用可能パラメ,タ,名のstring配列またはcell配列。

  • optimizableVariableオブジェクトのベクトル。通常はhyperparametersの出力です。

最適化では,パラメ,タ,を変化させることにより,fitcdiscrの交差検証損失(誤差)を最小化しようとします。(各種の状況における)交差検証損失の詳細については,分類損失を参照してください。交差検証のタesc escプおよびその他の最適化の側面を制御するには,名前と値のペアHyperparameterOptimizationOptionsを使用します。

メモ

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

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

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

  • DiscrimType- - - - - -fitcdiscrは,“线性”“二次”“diagLinear”“diagQuadratic”“pseudoLinear”および“pseudoQuadratic”で探索します。

  • γ- - - - - -fitcdiscrは範囲[0, 1]の実数値を探索します。

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

负载fisheririsParams =超参数(“fitcdiscr”量,物种);参数(1)。Range = [1e-4,1e6];

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

既定では,コマンドラインに反復表示が表示され,最適化のハイパーパラメーターの個数に従ってプロットが表示されます。最適化とプロットにおける目的関数は,回帰の場合はLog(1 +交叉验证损失),分類の場合は誤分類率です。反復表示を制御するには,名前と値のペアの引数“HyperparameterOptimizationOptions”详细的フィ,ルドを設定します。プロットを制御するには,名前と値のペアの引数“HyperparameterOptimizationOptions”ShowPlotsフィ,ルドを設定します。

たとえば,判別分析モデルの最適化を参照してください。

例:“汽车”

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

フィ,ルド名 既定の設定
优化器
  • “bayesopt”-ベie浏览器ズ最適化を使用。内部的にはbayesoptが呼び出されます。

  • “gridsearch”-次元ごとにNumGridDivisionsの値があるグリッド探索を使用。

  • “randomsearch”- - - - - -MaxObjectiveEvaluations個の点で無作為に探索。

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

“bayesopt”
AcquisitionFunctionName

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

  • “expected-improvement”

  • “expected-improvement-plus”

  • “expected-improvement-per-second”

  • “lower-confidence-bound”

  • “probability-of-improvement”

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

“expected-improvement-per-second-plus”
MaxObjectiveEvaluations 目的関数評価の最大数。 “bayesopt”または“randomsearch”の場合は30.“gridsearch”の場合はグリッド全体
MaxTime

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

NumGridDivisions “gridsearch”における各次元の値の個数。値は、各次元の値の個数を表す正の整数のベクトル、またはすべての次元に適用されるスカラーが可能です。カテゴリカル変数の場合、このフィールドは無視されます。 10
ShowPlots プロットを表示するかどうかを示す論理値。真正的の場合,最良の目的関数の値が反復回数に対してプロットされます。1,优化器“bayesopt”である場合,ShowPlotsはパラメ,タ,に対する目的関数のモデルのプロットも行います。 真正的
SaveIntermediateResults 优化器“bayesopt”である場合に結果を保存するかどうかを示す論理値。真正的の場合,“BayesoptResults”という名前のワ,クスペ,ス変数が反復ごとに上書きされます。この変数はBayesianOptimizationオブジェクトです。
详细的

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

  • 0-反復表示なし

  • 1-反復表示あり

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

詳細にいては,bayesoptの名前と値のペアの引数详细的を参照してください。

1
UseParallel ベ@ @ズ最適化を並列実行するかどうかを示す論理値。並列実行には并行计算工具箱™が必要です。並列でのタイミングに再現性がないため,並列ベイズ最適化で再現性のある結果が生成されるとは限りません。詳細にいては,並列ベ@ @ズ最適化を参照してください。
重新分区

反復ごとに交差検証を再分割するかどうかを示す論理値。の場合,オプティマ。

分割ノesc escズが考慮されるので,通常は真正的にすると最も確実な結果が得られます。ただし,真正的で良好な結果を得るには,2倍以上の関数評価が必要になります。

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

例:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)

デ,タ型:结构体

出力引数

すべて折りたたむ

学習済みの判別分析分類モデル。ClassificationDiscriminantモデルオブジェクトまたはClassificationPartitionedModel交差検証済みモデルオブジェクトとして返されます。

名前と値のペアの引数KFold坚持CrossValCVPartitionのいずれかを設定した場合,MdlClassificationPartitionedModel交差検証済みモデルオブジェクトになります。それ以外の場合,MdlClassificationDiscriminantモデルオブジェクトになります。

Mdlのプロパティを参照するには,ドット表記を使用します。たとえば,コマンド ウィンドウで推定成分平均を表示するには、Mdl。μを入力します。

詳細

すべて折りたたむ

判別分類

判別分析のモデルは次のとおりです。

  • 各クラス(Y)では,多変量正規分布を使用してデ,タ(X)を生成します。まり,このモデルはXに混合ガウス分布(gmdistribution)があることを前提としています。

    • 線形判別分析の場合,モデルでは各クラスの共分散は同じで,平均のみ変わります。

    • 2次判別分析の場合,各クラスの平均と共分散の両方が異なります。

预测は,予測される分類コストが最小になるように分類します。

y 参数 最小值 y 1 ... K k 1 K P k | x C y | k

ここで

  • y は,予測された分類です。

  • Kは,クラスの数です。

  • P k | x は,観測xのクラスkの事後確率です。

  • C y | k は,真のクラスがkの場合に観測値をyとして分類するコストです。

詳細にいては,判別分析モデルの使用による予測を参照してください。

ヒント

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

代替機能

関数

関数分类も判別分析を実行します。通常、分类のほうが,以下の点で使い方が複雑な関数です。

  • 分类では,新しい予測を実行するたびに,分類器を近似しなくてはなりません。

  • 分类

  • 分类では,事前確率を変更するときに,分類器を近似しなくてはなりません。

拡張機能

R2014aで導入