このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
横梁
机械学习モデルの交差検证
说明
例
SVM 分類器の交差検証
ionosphere
データセットを読み込みます。このデータセットには、レーダー反射についての 34 個の予測子と、不良 ('b'
的)または良好 ('g'
的)という 351 個の二項反応が含まれています。
加载ionosphereRNG(1);% For reproducibility
サポートサポートマシン(SVM)分类器に习ますますせます。
svmmodel = fitcsvm(x,y,'Standardize',真的,'ClassNames',{'b'那'g'});
svmmodel.
は学習させたClassificationSVM
分類器です。'b'
は阴性のクラス,'g'
は阳性のです。
10分分交差交差ををしてて交差検证しますますますますます。
CVSVMMODEL = Crossval(SVMModel)
cvsvmmodel = classificationededmodel crossvalidatedmodel:'svm'predictornames:{1x34 cell} racatectename:'y'numobservations:351 kfold:10分区:[1x1 cvpartition] classnames:{'b'g'} scoreTransform:'无'属性,方法
cvsvmmodel.
はClassificationPartitionedModel.
交差検证分类器です。
データを同じサイズの10个のセットににするににする。
9 個のセットに対して SVM 分類器に学習をさせる。
手顺1¼2をK.4.
各分子について泛について化含量を料含量する。
cvsvmmodel.。Trained
内の最初のモデルを表示します。
FirstModel.= CVSVMModel.Trained{1}
FirstModel.= CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' Alpha: [78x1 double] Bias: -0.2209 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double] SupportVectors: [78x34 double] SupportVectorLabels: [78x1 double] Properties, Methods
FirstModel.
は10个の学习さた分享器のうち最初のものです。これこれCompactClassificationSVM
分類器です。
cvsvmmodel.
をkfoldloss.
に渡すと、汎化誤差を推定できます。
単纯ベイズ交差検证のホールド标标本比率の指定
既定交差検证のホールドアウト标标で指定し标既定ではははではははででででででで横梁
は10分类交差検证交差,交差検证しますたとえば,交差検证し他たとえば,异なる検证はます。
ionosphere
データセットを読み込みます。このデータセットには、レーダー反射についての 34 個の予測子と、不良 ('b'
的)または良好 ('g'
的)という 351 個の二項反応が含まれています。
加载ionosphere
安定させるため、最初の 2 つの予測子を削除します。
x = x(:,3:结束);RNG('default');% For reproducibility
予测子X
とクラス ラベルy
を使用して,単纯ベイズ分類器に学習させます。クラス名を指定することが推奨されます。'b'
は陰性クラスで、'g'
は阳性クラスです。fitcnb
は,各予测子が条件付き正规分布に従うと仮定しています。
MDL.= fitcnb(X,Y,'ClassNames',{'b'那'g'});
MDL.
は学習させたClassificationNaiveBayes
分類器です。
30%のホールドアウト标本を指定て,分析器を交差検证ます。
cvmdl = crossval(mdl,'Holdout',0.3)
CVMdl = ClassificationPartitionedModel CrossValidatedModel: 'NaiveBayes' PredictorNames: {1x32 cell} ResponseName: 'Y' NumObservations: 351 KFold: 1 Partition: [1x1 cvpartition] ClassNames: {'b' 'g'} ScoreTransform: 'none' Properties, Methods
CVMdl
は,交差検证した単纯ベイズベイズ分类器ClassificationPartitionedModel.
です。
70% のデータを使用して学習させた分類器のプロパティを表示します。
TrainedModel= CVMdl.Trained{1}
TrainedModel= CompactClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'none' DistributionNames: {1x32 cell} DistributionParameters: {2x32 cell} Properties, Methods
TrainedModel
はCompactClassificaiveBayes.
分類器です。
CVMdl
をkfoldloss.
に渡して、汎化誤差を推定します。
kfoldloss(cvmdl)
ans = 0.2095
標本外の誤分類誤差は約 21% です。
上位5つの重要な予测を选択て,泛化误差を减らし。
idx = fscmrmr(x,y);xnew = x(:,idx(1:5));
新しい予測子向けに単純ベイズ分類器の学習を行います。
mdlnew = fitcnb(xnew,y,'ClassNames',{'b'那'g'});
30% のホールドアウト標本を指定して新しい分類器を交差検証し、汎化誤差を推定します。
cvmdlnew = crossval(mdlnew,'Holdout',0.3); kfoldLoss(CVMdlnew)
ANS = 0.1429.
标本外のの分误差が约21%から约14%まで减ってい。
横梁
を使用した交差検证済み回帰回帰游戏作物成
Fitrgam.
を使用して回帰一般化加法モデル (GAM) に学習させ、横梁
とホールドアウトオプションを使して検证済みgamを作物成し。そのその,kfold.Predict
をを用し,学校分享到値に対して习をせたモデルして,検证分享観测の応答をしますの応答予测します。
patients
データセットを読み込みます。
加载patients
予测子阶数(年龄
那Diastolic
那Smoker
那重量
那性别
那SelfAssessedHealthStatus
的)と応答変数 (收缩系统
的)を格納する table を作成します。
tbl = table(Age,Diastolic,Smoker,Weight,Gender,SelfAssessedHealthStatus,Systolic);
予测子の線形項が格納されている GAM に学習させます。
mdl = fitrgam(tbl,'Systolic');
MDL.
はRegressionGAM
モデルオブジェクトです。
30%のホールドアウト标本を指定し,モデルを交差検证ます。
RNG('default'的)% For reproducibilitycvmdl = crossval(mdl,'Holdout',0.3)
cvmdl = regrestionpartitionedgam crossvalidatedmodel:'gam'predictornames:{1x6 cell} categoricalpricictors:[3 5 6] racatectename:'systolic'numobservations:100 kfold:1分区:[1x1 cvpartition] numtrainedperfold:[1x1 struct] randeretransform:'无'属性, 方法
关节有关部横梁
は那ホールドアウト オプションを使用してRegressionPartitionedGAM
モデルオブジェクトのCVMdl
を作成します。交差検証時は、以下の手順が実行されます。
30%のデータをを作品为ににしてデータとしてし,残りのデータを使使しモデルに习をせるせる。
コンパクトな学習済みモデルを交差検証済みモデル オブジェクト
RegressionPartitionedGAM
のTrained
プロパティに格式する。
名称とと値引数'横穿'
那'CVPartition'
那'KFold'
または'忽略'
を使用すると,别の交差検证の设定を选択できます。
kfold.Predict
を使用して検証分割観測値の応答を予測します。この関数は、学習分割観測値に対して学習をさせたモデルを使用して、検証分割観測値の応答を予測します。この関数では、学習分割観測値に南
が割り当てられます。
YFIT = KFOLDPREDICT(CVMDL);
検证分类観测値のインデックスをして,観测値のインデックス,観测観测された応答値予测された応答値ががさた応答いるいるいるいるいるいるいるいるいるいるいるいるいるいるいるいるいるますtの最初ののます表示し
idx = find(〜isnan(yfit));t =表(IDX,TBL.SYSTOLIC(IDX),YFIT(IDX),。。。'VariableNames',{'Obseraction Index'那'Observed Value'那'预测值'}); head(t)
ans=8×3表Obseraction Index Observed Value Predicted Value _________________ ______________ _______________ 1 124 130.22 6 121 124.38 7 130 125.26 12 115 117.05 20 125 121.82 22 123 116.99 23 114 107 24 128 122.52
検証分割観測値の回帰誤差 (平均二乗誤差) を計算します。
L = kfoldLoss(CVMdl)
L = 43.8715.
入力引数
MDL.
-机械学习モデル
完全な回帰モデルオブジェクト|完全な分享モデルオブジェクト
机械学习モデル。完全な回帰または分類モデル オブジェクトとして指定します。サポートされるモデルは次の表に記載されています。
回帰モデルオブジェクト
モデル | 完全な回帰モデルオブジェクト |
---|---|
一般化加法モデル | RegressionGAM |
ニューラルネットワークモデル | 回归翁网络网络 |
分享モデルオブジェクト
モデル | 完全な分享モデルオブジェクト |
---|---|
一般化加法モデル | ClassificationGAM |
k最近最近傍 | ClassificationKNN |
単纯ベイズモデル | ClassificationNaiveBayes |
ニューラルネットワークモデル | ClassIciationneuralNetwork. |
1クラスおよびバイナリ分享用ののベクター | ClassificationSVM |
名前と値のペアの引数
オプションの名称,价值
引Name
は数名で,价值
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように,复数の名前とのペアののを,任意の顺番で指定でき。
Crossval(MDL,'Kfold',3)
は,3つの分类を検证済みモデルモデル使使ことを指定します。
CVPartition
-交差検証分割
[]
(既定値)|CVPartition.
分享オブジェクト
交差交差分享。CVPartition.
で作成したCVPartition.
分享到。分享到は,交差検证のと,学校セットおよびタイプとのをを指定ます。
指定できる名前と値の引数は、'CVPartition'
那'Holdout'
那'KFold'
那'忽略'
の4 つのうちのいずれかのみです。
例:CVP = CVPartition(500,'Kfold',5)
をを使し,500个の観测値に対する5分割交差検证について作用为なこの场をます。'CVPartition',cvp
を使用して交差検証済みモデルを指定できます。
坚持
-ホールドアウト検证の対象データの比率
(0,1)のの范囲のスカラー
(0,1)の范囲のますとしてししますしししししししししししししししししししし'扑腾',p
を指定した場合、以下の手順が実行されます。
p*100
% のデータを無作為に選択して検証データとして確保し、残りのデータを使用してモデルに学習をさせる。コンパクトな学习済みモデルをを交差検证済みモデルの
Trained
プロパティに格式する。MDL.
に対応するコンパクトなオブジェクトがない場合、Trained
にには完全なオブジェクトオブジェクト格式される
指定できる名前と値の引数は、'CVPartition'
那'Holdout'
那'KFold'
那'忽略'
の4 つのうちのいずれかのみです。
例:'Holdout',0.1
データ型:double
|single
KFold
-分割の数
10.
(既定値)|1 より大きい正の整数値
交差検证済みモデルで使用する分割の数0.1より大きい正の整数値として指定します。'kfold',k
を指定した場合、以下の手順が実行されます。
データを無作為に
K.
個のセットに分割する。各セットについて,そのセットを検定データとしてし,他の
K.
– 1个のセットを使使しモデルに习习ささせる。K.
个のコンパクトな学习习済みを,交差検证済みモデルのTrained
プロパティに含まれているK.
行 1 列の cell ベクトルに格納する。MDL.
に対応するコンパクトなオブジェクトがない場合、Trained
にには完全なオブジェクトオブジェクト格式される
指定できる名前と値の引数は、'CVPartition'
那'Holdout'
那'KFold'
那'忽略'
の4 つのうちのいずれかのみです。
例:'kfold',5
データ型:single
|double
忽略
-Leave-one-out 法の交差検証のフラグ
'off'
(既定値)|'在'
休假 - of-nothmonの交差検证フラグ。'在'
または'off'
として指定します。'忽略'那'在'
を指定したた合,n个の観测値(nは,モデルのnumobservations.
プロパティで指定される、欠損観測値を除外した観測値の個数) のそれぞれについて以下の手順が実行されます。
いずれかの観測値を検証データとして確保し、他の n - 1 個の観測値を使用してモデルに学習をさせる。
n个のコンパクトなな习済みモデルを,交差検证済みモデルの
Trained
プロパティに含まれている n 行 1 列の cell ベクトルに格納する。MDL.
に対応するコンパクトなオブジェクトがない場合、Trained
にには完全なオブジェクトオブジェクト格式される
指定できる名前と値の引数は、'CVPartition'
那'Holdout'
那'KFold'
那'忽略'
の4 つのうちのいずれかのみです。
例:'忽略'那'在'
出力数
CVMdl
- 交差検证された机构学院习
交差検证された(分享到れた)モデルオブジェクト
交差検証された機械学習モデル。入力モデルMDL.
に応じて、次の表の交差検証された (分割された) モデル オブジェクトのいずれかとして返されます。
回帰モデルオブジェクト
モデル | 回帰モデル(MDL. 的) |
交差検证済みモデル(Compactmdl. 的) |
---|---|---|
一般化加法モデル | RegressionGAM |
RegressionPartitionedGAM |
ニューラルネットワークモデル | 回归翁网络网络 |
回归排球菌的模型 |
分享モデルオブジェクト
モデル | 分類モデル (MDL. 的) |
交差検证済みモデル(Compactmdl. 的) |
---|---|---|
一般化加法モデル | ClassificationGAM |
Classificationededgam. |
k最近最近傍 | ClassificationKNN |
ClassificationPartitionedModel. |
単纯ベイズモデル | ClassificationNaiveBayes |
ClassificationPartitionedModel. |
ニューラルネットワークモデル | ClassIciationneuralNetwork. |
ClassificationPartitionedModel. |
1クラスおよびバイナリ分享用ののベクター | ClassificationSVM |
ClassificationPartitionedModel. |
ヒント
关节有关部kfold.と
kfold.Predict
やkfoldloss.
などのCVMdl
のプロパティを使使使用し,交差検证データに対するMDL.
の予测性能を评価します。名称とと値引数
'KFold'
または'Holdout'
を使用して,层化区分で分割した分类器を返します。cvp =
CVPartition.
(n,'KFold',k)
を使用して,CVPartition.
オブジェクトcvp
を作成します。名前と値の引数'CVPartition',cvp
を使用して,非層化区分で分割した分類器を返します。
代替機能
モデルに学习をさせせから交差検证を代わり代わりに,关关节を使使用'横穿'
那'CVPartition'
那'Holdout'
那'忽略'
那'KFold'
のいずれかを指定することにより、交差検証済みモデルを直接作成できます。
拡張機能
GPU 配列
并行计算工具箱™をを用しして定理装置(GPU)上部で行するにより,コードを高度化し。
使用上の注意事項および制限事項:
この关圈,GPU配列のの力引をてあてはめられた
ClassificationKNN
およびClassificationSVM
オブジェクトをサポートします。
詳細は、GPUでのMATLAB関数の実行(Parallel Computing Toolbox)を参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
选择网站
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:。
您还可以从以下列表中选择一个网站:
How to Get Best Site Performance
选择中国网站(以中文或英文)以获得最佳网站性能。其他MathWorks国家网站未优化您所在地的访问。
美洲
- América Latina(Español)
- 加拿大(English)
- 美国(English)
欧洲
- Belgium(English)
- Denmark(English)
- Deutschland(德意志)
- España.(Español)
- 芬兰(English)
- 法国(Français)
- 爱尔兰(English)
- 意大利(意大利语)
- Luxembourg(English)
- Netherlands(English)
- 挪威(English)
- Österreich.(德意志)
- 葡萄牙(English)
- 瑞典(English)
- 瑞士
- United Kingdom(English)