主要内容

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

resubPredict

学習済み分類器を使用した学習デタの分類

    説明

    标签= resubPredict (Mdlは,Mdl。Xに格納されている予測子デタを使用して,学習済み分類モデルMdlの予測クラスラベルのベクトル(标签を返します。

    标签= resubPredict (Mdl“IncludeInteractions”,includeInteractionsは,計算に交互作用項を含めるかどうかを指定します。この構文は一般化加法モデルにのみ適用されます。

    标签分数= resubPredict(___は,前の構文におけるいずれかの入力引数の組み合わせを使用して,分類スコアも返します。

    标签分数成本= resubPredict(Mdlは,予測誤分類コストも返します。この構文はk最近傍モデルと単純ベe @ e @ズモデルにのみ適用されます。

    すべて折りたたむ

    fisheririsデタセットを読み込みます。150本のアヤメに4Xを作成します。対応するアヤメの種類が含まれる文字ベクトルのcell配列Yを作成します。

    负载fisheririsX = meas;Y =物种;rng (“默认”%用于重现性

    予測子XとクラスラベルYを使用して、単純ベ以及ズ分類器に学習させます。クラス名を指定することが推奨されます。fitcnbは,各予測子が条件付き正規分布に従うと仮定しています。

    Mdl = fitcnb(X,Y,“类名”, {“setosa”“多色的”“virginica”})
    Mdl = ClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'setosa' 'versicolor' 'virginica'} ScoreTransform: 'none' NumObservations: 150 DistributionNames: {'normal' 'normal' 'normal' 'normal'} DistributionParameters: {3x4 cell}属性,方法

    Mdlは学習させたClassificationNaiveBayes分類器です。

    学習標本のラベルを予測します。

    label = resubPredict(Mdl);

    10件の観測値の無作為なセットにいて結果を表示します。

    idx = randsample(size(X,1),10);表(Y (idx)、标签(idx),“VariableNames”...“真正的标签”“预测标签”})
    ans =10×2表真正的标签预测标签  ______________ _______________ {' virginica’}{‘virginica}{‘setosa}{‘setosa}{‘virginica}{‘virginica}{“癣”}{“癣”}{‘virginica}{‘virginica}{“癣”}{“癣”}{‘virginica}{‘virginica}{‘setosa}{‘setosa}{‘virginica}{‘virginica}{‘setosa} {' setosa '}

    真のラベルYと予測ラベル标签から混同チャトを作成します。

    cm = confusionchart(Y,label);

    图包含一个类型为confusimatrixchart的对象。

    电离层デタセットを読み込みます。このデタセットには,レ反射に34個の予測子と,不良(“b”)または良好(‘g’)という351個の二項反応が含まれています。

    负载电离层

    サポトベクタマシン(svm)分類器に学習させます。デタを標準化し,‘g’が陽性クラスであることを指定します。

    SVMModel = fitcsvm(X,Y,“类名”, {“b”‘g’},“标准化”,真正的);

    SVMModelClassificationSVM分類器です。

    スコアから事後確率への最適な変換関数パラメタを近似します。

    rng (1);%用于重现性ScoreSVMModel = fit后部(vmmodel)
    ScoreSVMModel = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: '@(S)sigmoid(S,-9.481586e-01,-1.218402e-01)' NumObservations: 351 Alpha: [90x1 double] Bias: -0.1343 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double] BoxConstraints: [351x1 double] ConvergenceInfo: [1x1 struct] Is金宝appSupportVector: [351x1 logical] Solver: 'SMO' Properties, Methods

    クラスは不可分であるため,スコア変換関数(ScoreSVMModel。ScoreTransform)はシグモド関数です。

    学習デタのスコアと陽性のクラスの事後確率を推定します。最初の10件の観測の結果を表示します。

    [label,scores] = resubPredict(svm模型);[~,postProbs] = resubPredict(ScoreSVMModel);表(Y(1:10),标签(1:10),分数(1:10),2),postProbs (1:10), 2),“VariableNames”...“TrueLabel”“PredictedLabel”“分数”“PosteriorProbability”})
    ans =10×4表TrueLabel PredictedLabel得分PosteriorProbability  _________ ______________ _______ ____________________ {' 1.4861 - 0.82214 g’}{‘g’}{b} {b} -1.0004 - 0.30434{‘g’}{‘g’}1.8686 - 0.86916 {b} {b} -2.6458 - 0.084182{‘g’}{‘g’}1.2805 - 0.79183 {b} {b} -1.4618 - 0.22025{‘g’}{‘g’}2.1671 - 0.89813 {b} {b} -5.7089 - 0.0050112{‘g’}{‘g’}2.4797 - 0.92223 {b} {b} -2.7813 - 0.074797

    予測子の線形項と交互作用項の両方が格納されている分類一般化加法モデル(GAM)を使用して,学習データについて事後確率のロジット(分類スコア)を推定します。分類スコアを計算する際に交互作用項を含めるかどうかを指定します。

    电离层デタセットを読み込みます。このデタセットには,レ反射に34個の予測子と,不良(“b”)または良好(‘g’)という351個の二項反応が含まれています。

    负载电离层

    予測子XとクラスラベルYを使用して,gamに学習させます。クラス名を指定することが推奨されます。上位10個の最も重要な交互作用項を含めるように指定します。

    Mdl = fitcam (X,Y,“类名”, {“b”‘g’},“互动”, 10)
    Mdl = ClassificationGAM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'logit' Intercept: 3.2565 interaction: [10x2 double] NumObservations: 351 Properties, Methods

    MdlClassificationGAMモデルオブジェクトです。

    線形項と交互作用項の両方を使用してラベルを予測してから,線形項のみを使用してラベルを予測します。交互作用項を除外するには,“IncludeInteractions”,假的を指定します。ScoreTransformプロパティとして“没有”を指定して,事後確率のロジットを推定します。

    Mdl。ScoreTransform =“没有”;[labels,scores] = resubPredict(Mdl);[labels_nointeraction,scores_nointeraction] = resubPredict(Mdl,“IncludeInteractions”、假);

    真のラベル,予測ラベルおよびスコアが格納されている表を作成します。表の最初の8行を表示します。

    t = table(Y,labels,scores,labels_nointeraction,scores_nointeraction,...“VariableNames”, {“真正的标签”“预测标签”“分数”...“没有交互作用的预测标签”“没有互动的分数”});头(t)
    ans =8×5表真正的标签标签预测分数预测标签没有交互的分数没有交互  ___________ ________________ __________________ _____________________________________ ___________________________ {' -51.628 - 51.628 g’}{‘g’}{‘g’}-47.676 - 47.676 {b} {b} 37.433 - -37.433 36.435 - -36.435 {b}{‘g’}{‘g’}-62.061 - 62.061 -58.357 - 58.357{‘g’}{b} {b} 37.666 - -37.666 36.297 - -36.297 {b}{‘g’}{‘g’}-47.361 - 47.361 -43.373 - 43.373{‘g’}{b} {b} {b} -106.48 106.48 102.43-102.43{‘g’}{‘g’}-62.665 - 62.665 -58.377 - 58.377{‘g’}{b} {b} {b} 197.84 - -197.84 201.46 -201.46

    学習デタXの予測ラベルは交互作用項を含めても変化しませんが,推定スコア値は異なります。

    入力引数

    すべて折りたたむ

    分類機械学習モデル。完全な分類モデルオブジェクトとして指定します。サポトされるモデルは次の表に記載されています。

    モデル 分類モデルオブジェクト
    一般化加法モデル ClassificationGAM
    K最近傍モデル ClassificationKNN
    単純ベ邮箱ズモデル ClassificationNaiveBayes
    ニュラルネットワクモデル ClassificationNeuralNetwork
    1クラスおよびバ邮箱ナリ分類用のサポ邮箱トベクタ邮箱マシン ClassificationSVM

    モデルの交互作用項を含むというフラグ。真正的またはとして指定します。この引数は,一般化加法モデル(gam)の場合のみ有効です。まり,この引数を指定できるのは,MdlClassificationGAMである場合だけです。

    Mdlに交互作用項が含まれる場合,既定値は真正的です。モデルに交互作用項が含まれない場合、値はでなければなりません。

    デタ型:逻辑

    出力引数

    すべて折りたたむ

    予測クラスラベル。绝对配列,文字配列、逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列として返されます。

    标签は,Mdlに学習させた観測済みクラスラベルと同じデタ型になり,Mdl。Xの観測値の数と同じ長さになります。(字符串配列は文字ベクトルのcell配列として扱われます)。

    クラススコア。数値行列として返されます。分数は,Mdl。Xの観測値の数に等しい行と,学習デタ(尺寸(Mdl.ClassNames, 1))の個々のクラスの数に等しい列をもます。

    予測誤分類コスト。数値行列として返されます。この出力は k 最近傍モデルと単純ベイズ モデルにのみ適用されます。つまり、resubPredict成本を返すのは,MdlClassificationKNNまたはClassificationNaiveBayesである場合だけです。

    成本は,Mdl。Xの観測値の数に等しい行と,学習デタ(尺寸(Mdl.ClassNames, 1))の個々のクラスの数に等しい列をもます。

    成本(j, k)はクラスk(クラス)Mdl.ClassNames (k)内)で予測されるMdl。Xの行jの観測値の予測誤分類コストです。

    アルゴリズム

    resubPredictは,オブジェクト(Mdlの対応する関数预测に従って予測を計算します。モデル固有の説明については、次の表に示す関数预测のリファレンスペジを参照してください。

    モデル 分類モデルオブジェクト(Mdl オブジェクト関数预测
    一般化加法モデル ClassificationGAM 预测
    K最近傍モデル ClassificationKNN 预测
    単純ベ邮箱ズモデル ClassificationNaiveBayes 预测
    ニュラルネットワクモデル ClassificationNeuralNetwork 预测
    1クラスおよびバ邮箱ナリ分類用のサポ邮箱トベクタ邮箱マシン ClassificationSVM 预测

    拡張機能

    R2012aで導入