このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
预测
クラス:FeatureSelectionNCAClassification
近傍成分分析(nca)分類器の使用による応答の予測
構文
[label,postprobs,classnames] = predict(mdl,X)
入力引数
mdl
- - - - - -分類用の近傍成分分析モデル
FeatureSelectionNCAClassification
オブジェクト
分類用の近傍成分分析モデル。FeatureSelectionNCAClassification
オブジェクトを指定します。
X
- - - - - -予測子変数の値
N行p列の行列
予測子変数の値。N行p列の行列を指定します。Nは観測値の個数,pは予測子変数の個数です。
デ,タ型:单
|双
出力引数
标签
-予測クラスラベル
直言ベクトル|逻辑ベクトル|数値ベクトル|文字ベクトルの细胞配列|文字配列
X
の行に対応する予測クラスラベル。長さnの直言ベクトル,逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列,あるいはn行の文字配列として返されます。Nは観測値の個数です。标签
は,学習に使用したY
と同じ型になります。
postprobs
-事後確率
N行c列の行列
事後確率。N行c列の行列として返されます。Nは観測値の個数,cはクラスの個数です。事後確率postprobs(我,:)
は,クラス1 ~ cにおける,X(我,:)
内の観測値のメンバ,シップを表します。
一会
-クラス名
文字ベクトルのcell配列
事後確率に対応するクラスの名前。文字ベクトルのcell配列として返されます。各文字ベクトルは、postprobs
の列に対応するクラスの名前です。
例
分類用のncaモデルの調整
標本デ,タを読み込みます。
负载(“twodimclassdata.mat”);
このデ,タセットは,[1]で説明されている方法を使用してシミュレ,トしたものです。これは2次元の2クラス分類問題です。1 .番目のクラス(クラス-1)のデ.タは,2 .の二変量正規分布またはから同じ確率で抽出されたものです。ここで,、およびです。同様に,2 .番目のクラス(クラス1)のデ.タは,2 .の二変量正規分布またはから同じ確率で抽出されたものです。ここで,、およびです。このデータセットを作成するために使用した正規分布のパラメーターでは,[1]で使用されているデータよりデータのクラスターが緊密になります。
クラス別にグル,プ化したデ,タの散布図を作成します。
图gscatter(X(:,1),X(:,2),y)x1的) ylabel (“x2”)
100個の無関係な特徴量をに追加します。はじめに,平均が0,分散が20の正規分布からデ,タを生成します。
n = size(X,1);rng (“默认”) XwithBadFeatures = [X,randn(n,100)*sqrt(20)];
すべての点が0と1の間になるようにデ,タを正規化します。
XwithBadFeatures = bsxfun(@rdivide,...bsxfun (@minus XwithBadFeatures, min (XwithBadFeatures [], 1)),...范围(XwithBadFeatures, 1));X = XwithBadFeatures;
既定値のλ
(正則化パラメ,タ,)を使用して近傍成分分析(nca)モデルをデ,タにあてはめます。LBFGSソルバ,を使用し,収束情報を表示します。
ncaMdl = fscnca(X,y,“FitMethod”,“准确”,“详细”, 1...“规划求解”,“lbfgs”);
o求解器= LBFGS, HessianHistorySize = 15,LineSearchMethod = weakwolfe |====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 0 | 9.519258 e 03 e-02 | 1.494 | 0.000 e + 00 | | 4.015 e + 01 | 0.000 e + 00 |是| | 1 | -3.093574 e-01 e 03 | 7.186 | 4.018 e + 00 |好01 | 1.000 | 8.956 e + e + 00 |是| | 2 | -4.809455 e-01 |4.444 e 03 | 7.123 e + 00 |好01 | 1.000 | 9.943 e + e + 00 |是| | 3 | -4.938877 e-01 e 03 | 3.544 | 1.464 e + 00 |好01 | 1.000 | 9.366 e + e + 00 |是| | 4 | -4.964759 e-01 e 03 | 2.901 | 6.084 e-01 |好e + 02 | 1.554 | 1.000 e + 00 |是| | 5 | -4.972077 e-01 e 03 | 1.323 | 6.129 e-01 |好e + 02 | 1.195 | 5.000 e-01 |是| | 6 | -4.974743 e-01 e-04 | 1.569 | 2.155 e-01 |好e + 02 | 1.003 | 1.000 e + 00 |是| | 7 | -4.974868 e-01 e-05 | 3.844 | 4.161 e-02 |好01 | 1.000 | 9.835 e + e + 00 |是| | 8 e-01 | -4.974874 | 1.417 e-05 |1.073e-02 | OK | 1.043e+02 | 1.000e+00 | YES | | 9 | -4.974874e-01 | 4.893e-06 | 1.781e-03 | OK | 1.530e+02 | 1.000e+00 | 10 | -4.974874e-01 | 9.404e-08 | 8.947e-04 | OK | 1.670e+02 | 1.000e+00 | YES |最终梯度的无限范数= 9.404e-08最终步骤的两个范数= 8.947e-04, TolX = 1.000e-06最终梯度的相对无限范数= 9.404e-08, TolFun = 1.000e-06 EXIT:本地最小值发现。
特徴量の重みをプロットします。無関係な特徴量の重みはゼロに非常に近いはずです。
图semilogx (ncaMdl。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
Ncaモデルを使用してクラスを予測し,混同行列を計算します。
ypred = predict(ncaMdl,X);ypred confusionchart (y)
混同行列は,クラス1に属しているデータのうち40個がクラス1に属すると予測されていることを示しています。クラス-1のデタのう60個は,クラス1に属すると予測されています。同様に,クラス1のデータのうち94個はクラス1に6個はクラス1に属すると予測されています。クラス-1の予測精度が良くありません。
すべての重みがゼロに非常に近くなっています。これは,モデルに学習をさせるときに使用したの値が大きすぎることを示します。では,すべての特徴量の重みがゼロに近づきます。したがって,関連がある特徴量を判別するには,ほとんどのケースで正則化パラメーターを調整することが重要です。
5分割交差検証を使用して,fscnca
を使用する特徴選択用にを調整します。の調整とは,分類損失が最小になるの値を求めることを意味します。交差検証を使用してを調整するため,以下を行います。
1.デタを5の分割に分割します。各分割にいて,cvpartition
はデ,タの4/5を学習セットとして,1/5を検定セットとして割り当てます。さらに各分割にいて,クラスの比率がほぼ等しい層化区分をcvpartition
で作成します。
CVP = cvpartition(y,“kfold”5);numtestsets = cvp.NumTestSets;lambdavvalues = linspace(0,2,20)/length(y);Lossvalues = 0(长度(lambdavalues),numtestsets);
2.各分割の学習セットを使用して,の各値に(nca)。
3.Ncaモデルを使用して,分割内の対応する検定セットの分類損失を計算します。損失の値を記録します。
4.このプロセスをすべての分割およびすべてのの値に対して繰り返します。
为I = 1:长度(lambdavalues)为K = 1:numtestsets从分区对象中提取训练集Xtrain = X(cvp.training(k),:);Ytrain = y(cvp.training(k),:);从分区对象中提取测试集Xtest = X(cvp.test(k),:);Ytest = y(cvp.test(k),:);使用训练集训练NCA模型进行分类ncaMdl = fscnca(Xtrain,ytrain,“FitMethod”,“准确”,...“规划求解”,“lbfgs”,“λ”lambdavalues(我));使用NCA计算测试集的分类损失%的模型lossvalues(i,k) = loss(ncaMdl,Xtest,ytest,...“LossFunction”,“二次”);结束结束
分割の平均損失値をの値にいてプロットします。最小の損失に対応するの値がのテスト済みの値の境界に位置する場合,の値の範囲を再検討する必要があります。
图绘制(lambdavalues,意味着(lossvalues, 2),“ro - - - - - -”)包含(“λ值”) ylabel (“损失值”网格)在
最小の平均損失に対応するの値を求めます。
[~,idx] = min(mean(lossvalues,2));查找索引最佳lambda = lambdavalues(idx)找到最好的lambda值
Bestlambda = 0.0037
最適なの値を使用して,すべてのデ,タにncaモデルをあてはめます。LBFGSソルバ,を使用し,収束情報を表示します。
ncaMdl = fscnca(X,y,“FitMethod”,“准确”,“详细”, 1...“规划求解”,“lbfgs”,“λ”, bestlambda);
o求解器= LBFGS, HessianHistorySize = 15,LineSearchMethod = weakwolfe |====================================================================================================| | ITER | |娱乐价值规范研究生| |规范一步曲线|γ|α|接受 | |====================================================================================================| | 0 | -1.246913 e-01 e-02 | 1.231 | 0.000 e + 00 | | 4.873 e + 01 | 0.000 e + 00 |是| | 1 | -3.411330 e-01 e 03 | 5.717 | 3.618 e + 00 |好e + 02 | 1.068 | 1.000 e + 00 |是| | 2 | -5.226111 e-01 |e-02 3.763 | 8.252 e + 00 |好01 | 1.000 | 7.825 e + e + 00 |是| | 3 | -5.817731 e-01 e 03 | 8.496 | 2.340 e + 00 |好| 5.591 e + 01 | 5.000 e-01 |是| | 4 | -6.132632 e-01 e 03 | 6.863 | 2.526 e + 00 |好01 | 1.000 | 8.228 e + e + 00 |是| | 5 | -6.135264 e-01 e 03 | 9.373 | 7.341 e-01 |好01 | 1.000 | 3.244 e + e + 00 |是| | 6 | -6.147894 e-01 e 03 | 1.182 | 2.933 e-01 |好01 | 1.000 | 2.447 e + e + 00 |是| | 7 | -6.148714 e-01 e-04 | 6.392 | 6.688 e-02 |好01 | 1.000 | 3.195 e + e + 00 |是| | 8 e-01 | -6.149524 | 6.521 e-04 |9.934 e-02 |好e + 02 | 1.236 | 1.000 e + 00 |是| | 9 | -6.149972 e-01 e-04 | 1.154 | 1.191 e-01 |好e + 02 | 1.171 | 1.000 e + 00 |是| | 10 | -6.149990 e-01 e-05 | 2.922 | 1.983 e-02 |好01 | 1.000 | 7.365 e + e + 00 |是| | 11 | -6.149993 e-01 e-05 | 1.556 | 8.354 e 03 |好e + 02 | 1.288 | 1.000 e + 00 |是| | 12 | -6.149994 e-01 e-05 | 1.147 | 7.256 e 03 |好e + 02 | 2.332 | 1.000 e + 00 |是| | 13 | -6.149995 e-01 e-05 | 1.040 | 6.781 e 03 |好e + 02 | 2.287 | 1.000 e + 00 |是| | 14 | -6.149996 e-01 e-06 | 9.015 | 6.265 e 03|OK | 9.974e+01 | 1.000e+00 | YES | | 15 | -6.149996e-01 | 7.763e-06 | 5.206e-03 | OK | 2.919e+02 | 1.000e+00 | YES | | 16 | -6.149997e-01 | 8.374e-06 | 1.679e-02 | OK | 6.878e+02 | 1.000e+00 | YES | | 17 | -6.149997e-01 | 9.387e-06 | 9.542e-03 | OK | 1.284e+02 | 5.000e-01 | YES | | 18 | -6.149997e-01 | 3.250e-06 | 5.114e-03 | OK | 1.225e+02 | 1.000e+00 | YES | | 19 | -6.149997e-01 | 1.574e-06 | 1.275e-03 | OK | 1.808e+02 | 1.000e+00 | YES | |====================================================================================================| | ITER | FUN VALUE | NORM GRAD | NORM STEP | CURV | GAMMA | ALPHA | ACCEPT | |====================================================================================================| | 20 | -6.149997e-01 | 5.764e-07 | 6.765e-04 | OK | 2.905e+02 | 1.000e+00 | YES | Infinity norm of the final gradient = 5.764e-07 Two norm of the final step = 6.765e-04, TolX = 1.000e-06 Relative infinity norm of the final gradient = 5.764e-07, TolFun = 1.000e-06 EXIT: Local minimum found.
特徴量の重みをプロットします。
图semilogx (ncaMdl。FeatureWeights,“罗”)包含(“功能指数”) ylabel (“功能重量”网格)在
fscnca
は,初めの2の特徴量に関連があり残りはそうではないことを正しく判別します。初めの2の特徴量は単独では情報を与えませんが,一緒にすると正確な分類モデルが得られます。
新しいモデルを使用してクラスを予測し,精度を計算します。
ypred = predict(ncaMdl,X);ypred confusionchart (y)
混同行列は,クラス-1の予測精度が改善されたことを示しています。クラス1のデータのうち88個はクラス1に12個はクラス1に属すると予測されています。クラス1のデータのうち92個はクラス1に8個はクラス1に属すると予測されています。
参考文献
[1]杨伟,王坤,左伟。高维数据的邻域成分特征选择。计算机杂志.2012年1月,第七卷第1期。
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。