このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
アンサンブルの予測品質を学習データでの性能に基づいて評価することはできません。アンサンブルには”過学習”の傾向があり,予測力の推定が過度に楽観的になります。つまり,分類の場合のresubLoss
(回帰の場合はresubLoss
)の結果では通常,新しいデータの場合より誤差が小さくなります。
アンサンブル品質をより正確に把握できるようにするには,次のいずれかの方式を使用します。
独立した検定セットでアンサンブルを評価します(十分な学習データがあるときに適しています)。
交差検証によってアンサンブルを評価します(十分な学習データがないときに適しています)。
out-of-bagデータでアンサンブルを評価します(バギングアンサンブルをfitcensemble
またはfitrensemble
で作成する場合に適しています)。
この例では,アンサンブル品質を評価する3つの方式をすべて使用できるように,バギングアンサンブルを使用します。
20の予測子を指定して人為的なデータセットを生成します。各エントリは0 ~ 1の乱数です。初期分類は, の場合は ,それ以外の場合は です。
rng (1,“旋风”)%的再现性X =兰特(2000年,20);Y = sum(X(:,1:5),2) > 2.5;
さらに,結果にノイズを追加するため,分類の10%をランダムに入れ替えます。
idx = randsample(2000、200);(idx) = ~ Y (idx);
独立した学習セットと検定セットのデータを作成します。坚持
オプションを使用してcvpartition
を呼び出すことにより,データの70%を学習セットに使用します。
cvpart = cvpartition (Y,“坚持”, 0.3);Xtrain = X(培训(cvpart):);Ytrain = Y(培训(cvpart):);Xtest = X(测试(cvpart):);欧美= Y(测试(cvpart):);
学習データから200本の木によるバギング分類アンサンブルを作成します。
t = templateTree (“复制”,真正的);%用于随机预测器选择的重现性袋= fitcensemble (Xtrain Ytrain,“方法”,“包”,“NumLearningCycles”, 200,“学习者”, t)
包= ClassificationBaggedEnsemble ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [0 1] ScoreTransform: 'none' NumObservations: 1400 NumTrained: 200 Method: ' bag ' LearnerNames: {'Tree'} ReasonForTermination: '在完成请求的训练周期数后正常终止。'userobsforlearner: [1400x200 logical]属性,方法
検定データの損失(誤分類)をアンサンブルに含まれている学習済みの木の本数の関数としてプロットします。
图绘制(损失(包,Xtest,欧美,“模式”,“累积”)包含(树木的数量) ylabel (“测试分类错误”)
5分割交差検証された,バギングアンサンブルを生成します。
简历= fitcensemble (X, Y,“方法”,“包”,“NumLearningCycles”, 200,“Kfold”5,“学习者”, t)
cv = ClassificationPartitionedEnsemble CrossValidatedModel: 'Bag' PredictorNames: {1x20 cell} ResponseName: 'Y' NumObservations: 2000 KFold: 5 Partition: [1x1 cvpartition] NumTrainedPerFold: [200 200 200 200 200] ClassNames: [0 1] ScoreTransform: 'none'属性,方法
交差検証損失をアンサンブル内の木の本数の関数として調べます。
图绘制(损失(包,Xtest,欧美,“模式”,“累积”)举行在情节(kfoldLoss(简历,“模式”,“累积”),“r”。)举行从包含(树木的数量) ylabel (分类错误的)传说(“测试”,交叉验证的,“位置”,“不”)
交差検証により,独立集合の場合と同等の推定値が得られます。
out-of-bag推定の損失曲線を生成し,他の曲線と共にプロットします。
图绘制(损失(包,Xtest,欧美,“模式”,“累积”)举行在情节(kfoldLoss(简历,“模式”,“累积”),“r”。)情节(oobLoss(包,“模式”,“累积”),“k——”)举行从包含(树木的数量) ylabel (分类错误的)传说(“测试”,交叉验证的,的包的,“位置”,“不”)
out-of-bag推定でも,他の手法と同等の結果が示されています。
fitcensemble
|fitrensemble
|resubLoss
|resubLoss
|cvpartition
|oobLoss
|kfoldLoss
|损失