このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
quantileError
回帰の袋树の使用による分位点損失
構文
説明
は,回帰の袋树犯错
= quantileError (Mdl
,X
)Mdl
をX
内の予測子デ,タの観測値に適用することにより予測した中央値に対してテ,ブルX
内の真の応答を比較して,平均絶対偏差(mad)の1/2を返します。
Mdl
はTreeBagger
モデルオブジェクトでなければなりません。X
内の応答変数名は,学習データが格納されているテーブルに含まれている応答変数の名前と同じでなければなりません。
は,テ,ブル犯错
= quantileError (Mdl
,X
,ResponseVarName
)X
に含まれている真の応答および予測子の変数を使用します。ResponseVarName
は応答変数の名前です。Mdl。PredictorNames
には予測子変数の名前を格納します。
入力引数
Mdl
- - - - - -回帰の袋树
TreeBagger
モデルオブジェクト(既定値)
回帰の袋树。関数TreeBagger
によって作成されたTreeBagger
モデルオブジェクトとして指定します。Mdl。方法
の値は回归
でなければなりません。
X
- - - - - -標本デ,タ
数値行列|テブル
分位数の推定に使用する標本デ,タ。数値行列またはテブルを指定します。
X
の各行は1の観測値に対応し,各列は1。Y
を指定する場合は,X
の行数とY
の長さが等しくなければなりません。
数値行列の場合
X
の列を構成する変数の順序は,Mdl
に学習させた(Mdl。PredictorNames
に格納されている)予測子変数の順序と同じでなければなりません。テ,ブル(たとえば
资源描述
)を使用してMdl
に学習をさせた場合,资源描述
に含まれている予測子変数がすべて数値変数であれば,X
を数値行列にすることができます。资源描述
に種類の異なる予測子変数(数値および直言データ型など)が混在している場合,quantileError
でエラ,がスロ,されます。真の応答は
Y
で指定します。
テ,ブルの場合
quantileError
は,文字ベクトルのcell配列ではないcell配列や複数列の変数をサポ,トしません。テ,ブル(たとえば
资源描述
)を使用してMdl
に学習をさせた場合,X
内のすべての予測子変数は変数名およびデ,タ型が,Mdl
に学習させた(Mdl。PredictorNames
に格納されている)変数と同じでなければなりません。ただし,X
の列の順序が资源描述
の列の順序に対応する必要はありません。资源描述
とX
に追加の変数(応答変数や観測値の重みなど)を含めることができます。数値行列を使用して
Mdl
に学習をさせた場合,Mdl。PredictorNames
内の予測子名とX
内の対応する予測子変数名が同じでなければなりません。学習時に予測子の名前を指定する方法にいては,関数TreeBagger
の名前と値のペアの引数PredictorNames
を参照してください。X
内の予測子変数はすべて数値ベクトルでなければなりません。X
に追加の変数(応答変数や観測値の重みなど)を含めることができます。X
に応答変数が含まれている場合応答変数の名前が
Mdl
に学習させた応答変数と同じである場合,応答変数名や真の応答のベクトルを指定する必要はありません。quantileError
の既定設定ではその変数が真の応答に使用されます。真の応答は
ResponseVarName
またはY
で指定できます。
デ,タ型:表格
|双
|单
ResponseVarName
- - - - - -応答変数名
文字ベクトル|字符串スカラ
応答変数名。文字ベクトルまたは字符串スカラ,を指定します。ResponseVarName
は,標本デ,タの表X
に含まれている応答変数の名前でなければなりません。
表格X
に応答変数が含まれており,Mdl
の学習に使用した応答変数と同じ名前である場合,ResponseVarName
を指定する必要はありません。quantileError
の既定設定ではその変数が真の応答に使用されます。
デ,タ型:字符
|字符串
Y
- - - - - -真の応答
数値ベクトル
真の応答。数値ベクトルを指定します。X
の行数とY
の長さは等しくなければなりません。
デ,タ型:双
|单
名前と値の引数
オプションの引数のペアをName1 = Value1,…,以=家
として指定します。ここで名字
は引数名,价值
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021aより前では,名前と値をそれぞれコンマを使って区切り,名字
を引用符で囲みます。
模式
- - - - - -アンサンブル誤差のタ@ @プ
“合奏”
(既定値) |“累积”
|“个人”
アンサンブル誤差のタ@ @プ。“模式”
と次の表の値から構成されるコンマ区切りのペアとして指定します。τ
は分位数
の値であるとします。
値 | 説明 |
---|---|
“累积” |
|
“合奏” |
|
“个人” |
|
“累积”
または“个人”
の場合,树
またはUseInstanceForTree
を使用して分位点推定に含める木の本数を減らすと,犯错
の行数はMdl。NumTrees
より少なくなります。
例:“模式”、“累积”
权重
- - - - - -観測値の重み
(大小(X, 1), 1)
(既定値) |正の値の数値ベクトル
観測値の重み。“重量”
と,大小(X, 1)
に等しい長さをも正の値の数値ベクトルから構成されるコンマ区切りのペアとして指定します。分位点回帰誤差を推定するときに,quantileError
は权重
を使用して偏差の加重平均を計算します。
既定では,quantileError
は1
という重みを各観測値に割り当てており,これは偏差の非加重平均となります。
分位数
- - - - - -分位確率
0.5
(既定値) |[0,1]の値が含まれている数値ベクトル
分位確率。分位数的
と区間[0,1]の値が含まれている数値ベクトルから構成されるコンマ区切りのペアとして指定します。quantileError
は,分位数
の各要素にいて,分位数
内のすべての確率に対応する分位点回帰誤差を返します。
例:“分位数”,[0 0.25 0.5 0.75 1]
デ,タ型:单
|双
树
- - - - - -応答の推定に使用する木の@ @ンデックス
“所有”
(既定値) |正の整数の数値ベクトル
応答の推定に使用する木の@ @ンデックス。“树”
と“所有”
または正の整数の数値ベクトルから構成されるコンマ区切りのペアとして指定します。ンデックスはMdl。Trees
のセルに対応します。各セルにはアンサンブル内の木が格納されます。树
の最大値は、アンサンブル内の木の本数(Mdl。NumTrees
)以下でなければなりません。
“所有”
の場合,quantileError
はアンサンブル内のすべての木を使用します(1: Mdl。NumTrees
になります)。
既定以外の値を指定すると,犯错
の行数が変化する可能性があります。
例:“树”,[1 10 Mdl。NumTrees]
デ,タ型:字符
|字符串
|单
|双
TreeWeights
- - - - - -各木の応答の重み
的(Mdl.NumTrees, 1)
(既定値) |非負値の数値ベクトル
各木の応答の重み。“TreeWeights”
と元素个数(
個の非負値による数値ベクトルから構成されるコンマ区切りのペアとして指定します。树
)树
は树
の値です。
“模式”,“个人”
を指定した場合,quantileError
はTreeWeights
を無視します。
デ,タ型:单
|双
UseInstanceForTree
- - - - - -各観測値に対する予測に使用する木を指定するンジケタ
“所有”
(既定値) |逻辑行列
各観測値に対する予測に使用する木を指定するンジケタ。“UseInstanceForTree”
とn行Mdl。Trees
列の逻辑行列から構成されるコンマ区切りのペアとして指定します。nはX
内の観測値(行)の個数です。UseInstanceForTree
の行は観測値に,列はMdl。Trees
内の学習器に対応します。“所有”
は,分位数を推定するときにすべての観測値に対してすべての木を使用するよう指定します。
UseInstanceForTree (
=j
,k
)真正的
である場合,quantileError
は観測値X (
の応答を予測するときにj
:)Mdl。Trees(
内の木を使用します。k
)
すべてが假
値から構成されている行を指定すると,ランダムフォレストによる予測の代わりにMdl。Y
内の応答デ,タを直接使用して分位数を推定できます。たとえば,応答デ,タを使用して観測値j
の分位数を推定し,他のすべての観測値についてはランダムフォレストによる予測を使用するには,次の行列を指定します。
UseInstanceForTree = true(size(mml . x,2), mml . numtrees);UseInstanceForTree(j,:) = false(1, mll . numtrees);
既定以外の値を指定すると,犯错
の行数が変化する可能性があります。また,树
の値はUseInstanceForTree
の値に影響を与えます。UseInstanceForTree
の値がU
であるとします。quantileError
は,树
の指定による推定には使用されない木に対応するU
の列を無視します。まり,quantileError
は“UseInstanceForTree”
の値をU (:,
に再設定します。树
)树
は“树”
の値です。
デ,タ型:字符
|字符串
|逻辑
出力引数
犯错
-分位点回帰誤差の1/2
数値スカラ,|数値行列
分位点回帰誤差の1/2。数値スカラ,またはT
行元素个数(
列の行列として返されます。τ
)τ
は分位数
の値です。
T
は,模式
、树
、UseInstanceForTree
および分位数
の値に依存します。“树”,
を指定し,既定値の树
“UseInstanceForTree”
を使用するとします。
“模式”、“累积”
の場合,犯错
は元素个数(
行树
)元素个数(
列の数値行列になります。τ
)错(
は,j
,k
)Mdl。Trees(
の学習器を使用した树
(1:j
))
の累積的な分位点回帰誤差です。τ
(k
)“模式”、“合奏”
の場合,犯错
は1
行元素个数(
列の数値ベクトルになります。τ
)错(
は,k
)Mdl。Trees(
の学習器を使用した树
)
の累積的な分位点回帰誤差です。τ
(k
)“模式”,“个人”
の場合,犯错
は元素个数(
行树
)元素个数(
列の数値行列になります。τ
)错(
は,j
,k
)Mdl。Trees(
の学習器を使用した树
(j
))
の分位点回帰誤差です。τ
(k
)
例
標本内分位点回帰誤差の推定
carsmall
デ,タセットを読み込みます。与えられたエンジン排気量,重量および気筒数に対して自動車の燃費の平均を予測するモデルを考えます。气缸
はカテゴリカル変数であるとします。
负载carsmall圆柱=分类(圆柱);X =表(排量,重量,气缸,MPG);
デ,タセット全体を使用して,バギング回帰木のアンサンブルに学習をさせます。100個の弱学習器を指定します。
rng (1);%用于再现性Mdl = TreeBagger(100,X,“英里”,“方法”,“回归”);
Mdl
はTreeBagger
アンサンブルです。
分位点回帰を実行し,予測された条件付き中央値を使用してアンサンブル全体の疯狂を推定します。
err = quantileError(Mdl,X)
Err = 1.2339
X
は応答および同等の変数名が含まれているテーブルなので,応答変数の名前またはデータを指定する必要はありません。ただし,次の構文を使用して応答を指定することができます。
err = quantileError(Mdl,X,“英里”)
Err = 1.2339
分位点回帰誤差の使用による適切なアンサンブルサ@ @ズの検出
carsmall
デ,タセットを読み込みます。与えられたエンジン排気量,重量および気筒数に対して自動車の燃費の平均を予測するモデルを考えます。
负载carsmallX =表(排量,重量,气缸,MPG);
デタの75%を学習セットに,25%を検定セットに無作為に分割します。サブセットの@ @ンデックスを抽出します。
rng (1);%用于再现性cvp = cvpartition(size(X,1),“坚持”, 0.25);idxTrn = training(cvp);idxTest = test(cvp);
学習セットを使用して,バギング回帰木のアンサンブルに学習をさせます。250個の弱学習器を指定します。
Mdl = TreeBagger(250,X(idxTrn,:)),“英里”,“方法”,“回归”);
検定セットにいて,0.25,0.5および0.75の累積的な分位点回帰誤差を推定します。予測子デ,タを数値行列として,応答デ,タをベクトルとして渡します。
err = quantileError(Mdl,X{idxTest,1:3},MPG(idxTest),分位数的,[0.25 0.5 0.75],...“模式”,“累积”);
犯错
は,累積的な分位点回帰誤差が含まれている250行3列の行列です。列は分位確率に,行はアンサンブル内の木に対応します。誤差は累積的なので,前の木から集約した予測が含まれています。Mdl
の学習にはテーブルを使用しましたが,テーブル内の予測子変数がすべて数値型である場合は,代わりに予測子データの行列を指定することができます。
同じプロットに累積的な分位数誤差をプロットします。
图;情节(错);传奇(“0.25分位数误差”,“0.5分位数错误”,0.75分位数误差);ylabel (“分位数错误”);包含(“树指数”);标题(“累积分位数回归误差”)
初めの2つの四分位数については約60本の木を使用して学習をさせれば十分であると考えられますが,3番目の四分位数には約150本の木が必要です。
詳細
分位点回帰誤差
実際の予測子デ,タと応答が与えられた場合のモデルの"分位点回帰誤差"は,加重平均絶対偏差(疯狂)です。モデルが応答を過小に予測する場合,偏差の重みは分位確率τになります。モデルが応答を過大に予測する場合,偏差の重みは分位確率1 - τになります。
まり,τの分位点回帰誤差は次のようになります。
yjは真の応答j, はモデルが予測するτの分位数,wjは観測値の重みjです。
ヒント
アンサンブル内の木の本数を調整するには,
“模式”、“累积”
を設定し,木の。必要な木の最大本数は,分位点回帰誤差が横ばい状態になる木の。学習標本が小さい場合にモデルの性能を調べるには,代わりに
oobQuantileError
を使用します。
参考文献
[1]布雷曼,L.随机森林。机器学习45,pp. 5-32, 2001。
[2] Meinshausen, N.“分位数回归森林。”机器学习研究,Vol. 7, 2006, pp. 983-999。
バ,ジョン履歴
R2016bで導入
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。