主要内容

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

plotPartialDependence

部分依存プロット(PDP)および個別条件付き期待値(ICE)プロットの作成

説明

plotPartialDependence (RegressionMdlvarは,回帰モデルRegressionMdlを使用して,varに記載されている予測子変数間の部分従属と,予測応答を計算してプロットします。これには予測子データが含まれます。

  • varで1つの変数を指定した場合,関数は変数に対する部分従属のラインプロットを作成します。

  • varで2つの変数を指定した場合,関数は2つの変数に対する部分従属の表面プロットを作成します。

plotPartialDependence (ClassificationMdlvar标签は,分類モデルClassificationMdlを使用して,varに記載されている予測子変数間の部分従属と,标签で指定されたクラスのスコアを計算してプロットします。これには予測子データが含まれます。

  • varで1つの変数を,标签で1つのクラスを指定した場合,関数は指定されたクラスの変数に対する部分従属のラインプロットを作成します。

  • varで1つ変数を,标签で複数クラスを指定した場合,関数は1つの图の各クラスのラインプロットを作成します。

  • varで2つの変数を,标签で1つのクラスを指定した場合,関数は2つの変数に対する部分従属の表面プロットを作成します。

plotPartialDependence (___数据は新しい予測子データ数据を使用します。前の構文におけるいずれかの入力引数の組み合わせに加えて,数据を指定できます。

plotPartialDependence (___名称,值は1つ以上の名前と値のペアの引数によって指定された追加オプションを使用します。たとえば,“有条件的”,“绝对”を指定した場合,関数plotPartialDependenceはPDP,選択した予測子変数と予測応答またはスコアの散布図,および各観測値の冰プロットが含まれている图を作成します。

斧头= plotPartialDependence (___はプロットの座標軸を返します。

すべて折りたたむ

carsmallデータセットを使用して回帰木に学習をさせてから,特徴量と学習済み回帰木内の予測応答との間の関係を示すPDPを作成します。

carsmallデータセットを読み込みます。

负载carsmall

予測子変数 (X)として重量气缸および马力を,応答変数(Y)として英里/加仑を指定します。

X =(重量、气缸、马力);Y = MPG;

XYを使用して回帰木に学習させます。

Mdl = fitrtree (X, Y);

学習済み回帰木をグラフィックで表示します。

视图(Mdl,“模式”“图”

图回归树查看器包含一个轴和其他类型的uimenu, uicontrol的对象。轴包含60个类型为line, text的对象。

1番目の予測子変数重量のPDPを作成します。

plotPartialDependence (Mdl, 1)

图中包含一个坐标轴。标题为“部分依赖关系图”的轴包含一个类型为line的对象。

プロットされたラインは,学習済み回帰木Mdlにおける重量(ラベルはx1)と英里/加仑(ラベルはY)の間の平均化された部分関係性を表します。x軸の小目盛りはx1の一意の値を表します。

回帰木ビューアーには,最初の決定がx13085.5がより小さいかどうかであることが示されています。PDPでも,x1= 3085.5付近に大きい変化が示されています。木ビューアーは,予測子変数に基づいて各ノードにおける各決定を可視化します。x1の値に基づいて分割されたノードをいくつか見つけることはできますが,x1に対するYの従属を把握することは簡単ではありません。しかし,plotPartialDependenceは平均化された予測応答をx1に対してプロットするので,x1に対するYの部分従属を明確に把握できます。

ラベルx1およびYは,予測子名および応答名の既定値です。これらの名前は,fitrtreeを使用してMdlに学習をさせるときに,名前と値のペアの引数“PredictorNames”および“ResponseName”を指定して変更できます。関数包含およびylabelを使用して座標軸のラベルを変更することもできます。

fisheririsデータセットを使って単純ベイズ分類モデルに学習させ,予測子変数と複数クラスの予測スコア(事後確率)の関係を示すPDPを作成します。

fisheririsデータセットを読み込みます。これには150本のアヤメの標本について種類(物种)とがく片の長さ,がく片の幅,花弁の長さ,花弁の幅の測定値()が含まれています。このデータセットには,setosa,杂色的およびvirginicaの3種類のそれぞれについて50個ずつの標本が含まれています。

负载fisheriris

応答に物种,予測子にを使用して,単純ベイズ分類モデルに学習させます。

Mdl = fitcnb(量、种类);

3番目の予測子変数x3に対する物种の3つのクラスすべてについて,Mdlによって予測されるスコアのPDPを作成します。Mdl一会プロパティを使用して,クラスラベルを指定します。

plotPartialDependence (Mdl 3 Mdl.ClassNames);

图中包含一个坐标轴。标题为“部分相关图”的轴包含3个类型为line的对象。这些物品代表着维珍卡。

このモデルでは,virginicaの確率はx3にともなって増加しています。setosaの確率は,x3が0から2.5付近までは約0.33であり,それ以降は確率はほぼ0に低下します。

予測子変数間の交互作用が応答変数に含まれている標本データを生成し,このデータを使用してガウス過程回帰モデルに学習をさせます。その後,各観測値について特徴量と予測応答の間の関係を示す冰プロットを作成します。

標本予測子データx1およびx2を生成します。

rng (“默认”%的再现性n = 200;x1 =兰德(n - 1) * 2 - 1;x2 =兰德(n - 1) * 2 - 1;

x1x2の間に交互作用が含まれている応答値を生成します。

Y = x1-2 * x1。* (x2 > 0) + 0.1 *兰德(n, 1);

(x1, x2))Yを使用してガウス過程回帰モデルを作成します。

Mdl = fitrgp([x1 x2],Y);

“条件”として“中心”を指定して1番目の予測子x1についてのPDP(赤い線),x1と予測応答の散布図(円マーカー),および一連の冰プロット(灰色の線)が含まれている图を作成します。

plotPartialDependence (Mdl 1“条件”“中心”

图中包含一个坐标轴。标题为“个体条件期望图”的坐标轴包含202个类型为线、散点的对象。

“条件”“中心”である場合,plotPartialDependenceはすべてのプロットがゼロから始まるようにプロットのオフセットを設定します。これは,選択した特徴量の累積的な効果を確認するために役立ちます。

PDPは平均化された関係を明らかにするので,特徴量間の交互作用が応答に含まれている場合は特に,隠された依存性は明らかになりません。しかし冰プロットには,x1に対する2つの異なる応答の依存性が明確に示されます。

分類モデルのアンサンブルに学習させ,2つのPDPを作成します。1つには学習データ セットを使用し、もう 1 つには新しいデータ セットを使用します。

census1994データセットを読み込みます。これには,< = 50 kまたは> 50 kに分類される米国の年収データと,複数の人口統計変数が含まれます。

负载census1994

分析する変数のサブセットを表adultdata成人から抽出します。

X = adultdata (: {“年龄”“workClass”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”});Xnew =成人(:,{“年龄”“workClass”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”});

関数fitcensembleを使用し,応答として工资を,予測子として他の変数を指定し,分類器のアンサンブルに学習させます。バイナリ分類の場合,fitcensembleLogitBoostメソッドを使用して100本の分類木を集約します。

Mdl = fitcensemble (X,“工资”);

Mdlのクラス名を検査します。

Mdl。ClassNames
ans =2 x1分类< = 50 k > 50 k

学習データを使用して,予測子年龄に対する工资> 50 k)の2番目のクラスについて,Mdlによって予測されるスコアの部分依存プロットを作成します。

plotPartialDependence (Mdl“年龄”Mdl.ClassNames (2))

图中包含一个坐标轴。标题为“部分依赖关系图”的轴包含一个类型为line的对象。

表格Xnewからの新しい予測子データを使用して,年龄に対するクラス> 50 kのスコアのPDPを作成します。

plotPartialDependence (Mdl“年龄”Xnew Mdl.ClassNames (2))

图中包含一个坐标轴。标题为“部分依赖关系图”的轴包含一个类型为line的对象。

2つのプロットは,年龄工资> 50 k)が高い予測スコアの部分従属について類似した形状を示しています。両方のプロットは,高給の予測スコアが30歳まで急速に上昇し,その後六十歳までほぼ横ばいで,その後急速に低下することを示しています。ただし,新しいデータに基づくプロットでは,65歳以上のスコアがわずかに高くなっています。

carsmallデータセットを使用してアンサンブル回帰に学習をさせ,新しいデータセットcarbigを使用して各予測子変数についてPDPプロットと冰プロットを作成します。その後,图を比較して予測子変数の重要度を分析します。また,関数predictorImportanceによって返される予測子の重要度の推定値と結果を比較します。

carsmallデータセットを読み込みます。

负载carsmall

予測子変数 (X)として重量气缸马力およびModel_Yearを,応答変数(Y)として英里/加仑を指定します。

X =[重量、气缸、马力,Model_Year];Y = MPG;

XYを使用してアンサンブル回帰に学習をさせます。

Mdl = fitrensemble (X, Y,...“PredictorNames”, {“重量”“气缸”“马力”“年”},...“ResponseName”“英里”);

関数plotPartialDependencepredictorImportanceを使用して,予測子変数の重要度を作成します。関数plotPartialDependenceは,選択した予測子と予測応答の間の関係を可視化します。predictorImportanceは,予測子の重要度を単一の値で要約します。

plotPartialDependenceを使用し“有条件的”,“绝对”を指定して,各予測子についてのPDPプロット(赤い線)と冰プロット(灰色の線)が含まれている图を作成します。各图には,選択した予測子と予測応答の散布図(円マーカー)も含まれています。また,carbigデータセットを読み込み,新しい予測子データXnewとして使用します。Xnewが指定された場合,関数plotPartialDependenceMdl内の予測子データではなくXnewを使用します。

负载carbigXnew =[重量、气缸、马力,Model_Year];图t = tiledlayout(2,2,“TileSpacing”“紧凑”);标题(t)“个人条件期望图”i = 1: 4 nexttile plotpartialdependency (Mdl,i,Xnew,“条件”“绝对”)标题(''结束

图中包含4个轴。轴1包含408个类型为线、散点的对象。轴线2包含408个类型为线、散点的对象。轴线3包含408个类型为线、散的对象。轴4包含408个类型为线、散的对象。

predictorImportanceを使用して,予測子の重要度の推定値を計算します。この関数は,すべての予測子について分割によって生じる平均二乗誤差(MSE)の変動を合計し,その合計を枝ノードの数で除算します。

小鬼= predictorImportance (Mdl);图酒吧(imp)标题(的预测估计的重要性) ylabel (“估计”)包含(“预测”) ax = gca;斧子。XTickLabel = Mdl.PredictorNames;

图中包含一个坐标轴。标题为Predictor Importance estimate的轴包含一个bar类型的对象。

予測子の重要度によると,英里/加仑に対する効果が最も大きいのは変数重量です。重量のPDPも,英里/加仑重量に対する部分的従属性が高いことを示しています。予測子の重要度によると,英里/加仑に対する効果が最も小さいのは変数气缸です。气缸のPDPも,气缸による英里/加仑の変動が小さいことを示しています。

予測子の線形項と交互作用項の両方を使用して一般化加法モデル(GAM)に学習させます。その後,線形項と交互作用項の両方を含む PDP と線形項のみを含む PDP を作成します。PDP を作成する際に交互作用項を含めるかどうかを指定します。

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

负载电离层

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

Mdl = fitcgam (X, Y,“类名”, {“b”‘g’},“互动”10);

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

Mdlの交互作用項の一覧を表示します。

Mdl。的相互作用
ans =10×21 5 7 8 6 7 5 6 5 7 5 5 8 3 5 4 7 1 7 4 5

的相互作用の各行は1つの交互作用項を表し,交互作用項の予測子変数の列インデックスを格納します。

交互作用項で最も頻度が高い予測子を調べます。

模式(Mdl。相互作用,“所有”
ans = 5

交互作用項で最も頻度が高い予測子は5番目の予測子(x5)です。5番目の予測子についてのPDPを作成します。2つ目の PDP では、計算から交互作用項を除外するために“IncludeInteractions”,假的を指定します。

plotPartialDependence (Mdl 5 Mdl.ClassNames (1))plotPartialDependence (Mdl 5 Mdl.ClassNames (1),“IncludeInteractions”假)网格传奇(“线性和互动术语”“线性条件仅”)标题(“第5个预测者的后验概率pdp”)举行

图中包含一个坐标轴。第5 Predictor的后验概率pdp轴包含2个类型为line的对象。这些对象表示线性和交互项,仅表示线性项。

このプロットは,x5のスコア(事後確率)の部分従属はモデルに交互作用項が含まれているかどうかによって異なり,特に0.2から0.45までのx5で大きく異なることを示しています。

carsmallデータセットを使用してサポートベクターマシン(SVM)回帰モデルに学習をさせ,2つの予測子変数についてPDPを作成します。その後,plotPartialDependenceの出力から部分従属の推定値を抽出します。または,関数partialDependenceを使用して,部分従属の値を取得することもできます。

carsmallデータセットを読み込みます。

负载carsmall

予測子変数 (资源描述)として重量气缸位移および马力を指定します。

台=表(重量、汽缸、排量、马力);

资源描述と応答変数英里/加仑を使用して,SVM回帰モデルを構築します。自動カーネルスケールのガウスカーネル関数を使用します。

Mdl = fitrsvm (MPG(资源,“ResponseName”“英里”...“CategoricalPredictors”“气缸”“标准化”,真的,...“KernelFunction”“高斯”“KernelScale”“汽车”);

予測子変数重量および气缸に対する予測応答(英里/加仑)の部分従属を可視化するPDPを作成します。クエリ点を指定し,名前と値のペアの引数“QueryPoints”を使用して重量の部分従属を計算します。气缸はカテゴリカル変数であるため,“QueryPoints”の値を指定することはできません。plotPartialDependenceではすべてカテゴリカル値を使用します。

pt = linspace (min(重量),max(重量),50)';ax = plotPartialDependence (Mdl, {“重量”“气缸”},“QueryPoints”, {pt, []});视图(140,30)%修改查看角度

图中包含一个坐标轴。标题为“部分依赖关系图”的轴包含一个类型为surface的对象。

PDPには,重量气缸の間の交互作用効果が示されています。重量に対する英里/加仑の部分従属は,气缸の値に応じて変化します。

重量气缸に対する英里/加仑の部分従属の推定値を抽出します。斧子。ChildrenXDataYDataおよびZDataの値はそれぞれx軸の値(1番目に選択された予測子の値),y軸の値(2番目に選択された予測子の値)およびz軸の値(対応する部分従属の値)です。

xval = ax.Children.XData;yval = ax.Children.YData;zval = ax.Children.ZData;

または,関数partialDependenceを使用して,部分従属の値を取得することもできます。

(pd, x, y) = partialDependence (Mdl, {“重量”“气缸”},“QueryPoints”, {pt, []});

pdにはクエリ点xyの部分従属の値が含まれます。

“条件”として“绝对”を指定した場合,plotPartialDependenceはPDP,散布図および一連の冰プロットが含まれている图を作成します。ax.Children (1)ax.Children (2)はそれぞれPDPと散布図に対応します。斧子。Childrenの残りの要素は冰プロットに対応します。ax.Children(我)XDataおよびYDataの値はそれぞれx軸の値(選択された予測子の値)およびy軸の値(対応する部分従属の値)です。

入力引数

すべて折りたたむ

回帰モデル。完全またはコンパクトな回帰モデルオブジェクトとして指定します。サポートされるモデルは次の表に記載されています。

モデル 完全またはコンパクトなモデルオブジェクト
一般化線形モデル GeneralizedLinearModelCompactGeneralizedLinearModel
一般化線形混合効果モデル GeneralizedLinearMixedModel
線形回帰 LinearModelCompactLinearModel
線形混合効果モデル LinearMixedModel
非線形回帰 NonLinearModel
回帰モデルのアンサンブル RegressionEnsembleRegressionBaggedEnsembleCompactRegressionEnsemble
一般化加法モデル(GAM) RegressionGAMCompactRegressionGAM
ガウス過程回帰 RegressionGPCompactRegressionGP
ランダムな特徴量拡張を使用したガウスカーネル回帰モデル RegressionKernel
高次元データの線形回帰 RegressionLinear
ニューラルネットワーク回帰モデル RegressionNeuralNetworkCompactRegressionNeuralNetwork
サポートベクターマシン(SVM)回帰 RegressionSVMCompactRegressionSVM
回帰木 RegressionTreeCompactRegressionTree
決定木のアンサンブルのバギング TreeBaggerCompactTreeBagger

RegressionMdlが予測子データを含まないモデルオブジェクト(コンパクトなモデルなど)である場合,入力引数数据を指定しなければなりません。

plotPartialDependenceは,スパース行列で学習させたモデルオブジェクトをサポートしません。モデルに学習させる場合は、行が各観測値に対応する非スパースの数値行列または table を予測子データに使用してください。

分類モデル。完全またはコンパクトなモデルオブジェクトとして指定します。サポートされるモデルは次の表に記載されています。

モデル 完全またはコンパクトなモデルオブジェクト
判別分析分類器 ClassificationDiscriminantCompactClassificationDiscriminant
サポートベクターマシンまたはその他の分類器用のマルチクラスモデル ClassificationECOCCompactClassificationECOC
分類用のアンサンブル学習器 ClassificationEnsembleCompactClassificationEnsembleClassificationBaggedEnsemble
一般化加法モデル(GAM) ClassificationGAMCompactClassificationGAM
ランダムな特徴量拡張を使用したガウスカーネル分類モデル ClassificationKernel
k最近傍分類器 ClassificationKNN
線形分類モデル ClassificationLinear
マルチクラス単純ベイズモデル ClassificationNaiveBayesCompactClassificationNaiveBayes
ニューラルネットワーク分類器 ClassificationNeuralNetworkCompactClassificationNeuralNetwork
1クラスおよびバイナリ分類用のサポートベクターマシン(SVM)分類器 ClassificationSVMCompactClassificationSVM
マルチクラス分類用の二分決定木 ClassificationTreeCompactClassificationTree
決定木のバギングアンサンブル TreeBaggerCompactTreeBagger

ClassificationMdlが予測子データを含まないモデルオブジェクト(コンパクトなモデルなど)である場合,入力引数数据を指定しなければなりません。

plotPartialDependenceは,スパース行列で学習させたモデルオブジェクトをサポートしません。モデルに学習させる場合は、行が各観測値に対応する非スパースの数値行列または table を予測子データに使用してください。

予測子変数。正の整数のベクトル、文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。次の表に示されているように、1 つまたは 2 つの予測子変数を指定できます。

1つの予測子変数

説明
正の整数 予測子データの列に対応するインデックス値。
文字ベクトルまたは字符串スカラー

予測子変数の名前。名前はRegressionMdl。PredictorNamesまたはClassificationMdl。PredictorNamesのエントリに一致しなければなりません。

2つの予測子変数

説明
正の整数が2つ含まれているベクトル 予測子データの列に対応するインデックス値。
文字ベクトルの细胞配列または字符串配列

予測子変数の名前。配列の各要素は予測子変数の名前です。名前はRegressionMdl。PredictorNamesまたはClassificationMdl。PredictorNamesのエントリに一致しなければなりません。

例:{x1, x3的}

データ型:||字符|字符串|细胞

クラスラベル。绝对配列,文字配列、逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列を指定します。标签の値とデータ型は,ClassificationMdl一会プロパティ(ClassificationMdl。一会)のクラス名のものと一致しなければなりません。

  • varで1つの変数を指定し,“条件”“没有”(既定)に指定した場合のみ,複数のクラスラベルを指定できます。

  • 1回の関数呼び出しで複数の変数と複数のクラスラベルの部分従属を計算する場合は,partialDependenceを使用します。

この引数は,分類モデルオブジェクトClassificationMdlを指定する場合のみ有効です。

例:{“红”、“蓝”}

例:ClassificationMdl。3类名([1])は,ClassificationMdlの1番目と3番目のクラスとして标签を指定します。

データ型:||逻辑|字符|细胞|分类

予測子データ。数値行列またはテーブルとして指定します。数据の各行は1つの観測値に対応し,各列は1つの変数に対応します。

数据は,Xまたは变量プロパティに格納されている,モデル(RegressionMdlまたはClassificationMdl)の学習に使用した予測子データと一致しなければなりません。

  • 数値行列を使用してモデルに学習をさせた場合,数据は数値行列でなければなりません。数据の列を構成する変数の個数と順序は,モデルに学習をさせた予測子変数のものと同じでなければなりません。

  • 表(たとえば资源描述)を使用してモデルに学習をさせた場合,数据は表でなければなりません。数据内のすべての予測子変数は,変数名およびデータ型が资源描述のものと同じでなければなりません。ただし,数据の列の順序が资源描述の列の順序に対応する必要はありません。

  • plotPartialDependenceはスパース行列をサポートしません。

RegressionMdlまたはClassificationMdlが予測子データを含まないモデルオブジェクトである場合,数据を指定しなければなりません。モデルが予測子データを含む完全なモデル オブジェクトである場合にこの引数を指定すると、plotPartialDependenceはモデルの予測子データを使用せず,数据のみを使用します。

データ型:||表格

名前と値のペアの引数

オプションの名称,值引数のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:plotPartialDependence (Mdl、var、数据“NumObservationsToSample”,100年,“UseParallel”,真的)は,数据100年から抽出した個の観測値を使用し,ループの反復を並列実行することにより,PDPを作成します。

プロットタイプ。“没有”“绝对”,または“中心”として指定します。

説明
“没有”

plotPartialDependenceはPDPを作成します。プロットタイプは,varで指定された予測子変数の数と,标签で指定されたクラスラベル(分類モデル用)の数によって異なります。

  • 1つの予測子変数と1つのクラスラベル-plotPartialDependenceはクエリ点で部分従属を計算し,部分従属の2次元のラインプロットを作成します。

  • 1つの予測子変数と複数のクラスラベル-plotPartialDependenceは選択されたクラスの複数の2次元のラインプロットを含む1つの图を作成します。

  • 2つの予測子変数と1つのクラスラベル-plotPartialDependenceは2つの変数に対する部分従属の表面プロットを作成します。

“绝对”

plotPartialDependenceは,次の3種類のプロットを含む图を作成します。

  • PDP(赤い線)

  • 選択した予測子変数と予測応答またはスコアの散布図(円マーカー)

  • 各観測値の冰プロット(灰色の線)

この値は,varで1つの予測子変数を,标签で1つのクラスラベル(分類モデル用)を選択した場合のみに有効です。

“中心”

plotPartialDependenceは,“绝对”と同じ3種類のプロットを含む图を作成します。関数は,すべてのプロットがゼロから始まるようにプロットをオフセットします。

この値は,varで1つの予測子変数を,标签で1つのクラスラベル(分類モデル用)を選択した場合のみに有効です。

例:“有条件的”,“绝对”

部分従属の計算に一般化加法モデル(GAM)の交互作用項を含むというフラグ。真正的またはとして指定します。この引数は,GAMの場合のみ有効です。つまり,この引数を指定できるのは,RegressionMdlRegressionGAMまたはCompactRegressionGAMである場合か,ClassificationMdlClassificationGAMまたはCompactClassificationGAMである場合だけです。

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

例:“IncludeInteractions”,假的

データ型:逻辑

部分従属の計算に一般化加法モデル(GAM)の切片項を含むというフラグ。真正的またはとして指定します。この引数は,GAMの場合のみ有効です。つまり,この引数を指定できるのは,RegressionMdlRegressionGAMまたはCompactRegressionGAMである場合か,ClassificationMdlClassificationGAMまたはCompactClassificationGAMである場合だけです。

例:“IncludeIntercept”,假的

データ型:逻辑

抽出する観測値の個数。正の整数として指定します。既定値は、数据またはモデル(RegressionMdlまたはClassificationMdl)内の観測値の総数です。観測値の総数より大きい値が指定された場合、plotPartialDependenceはすべての観測値を使用します。

plotPartialDependenceは,関数datasampleを使用して観測値を非復元抽出し,抽出した観測値を部分従属の計算に使用します。

plotPartialDependenceは,抽出した観測の一意の値を小目盛りのマークで表示します。

“条件”として“绝对”または“中心”が指定された場合,plotPartialDependenceは抽出した各観測値についての冰プロットが含まれている图を作成します。

例:“NumObservationsToSample”,100年

データ型:|

プロットに使用する座標軸。轴オブジェクトとして指定します。現在の座標軸が直交座標軸である場合に座標軸が指定されなかった場合,plotPartialDependenceは現在の座標軸(gca)を使用します。座標軸が存在しない場合,plotPartialDependenceは新しい图にプロットします。

例:“父”,斧头

数値予測子の部分従属を計算する点。数値列ベクトル、2列の数値行列、または 2 つの数値列ベクトルの cell 配列として指定します。

  • var内の予測子変数を1つ選択する場合,数値列ベクトルを使用します。

  • var内の予測子変数を2つ選択する場合,次のようにします。

    • 各予測子変数について同じ個数の点を指定するには,2列の数値行列を使用します。

    • 各予測子変数について異なる個数の点を指定するには,2つの数値列ベクトルから成る细胞配列を使用します。

既定値は,数値列ベクトルまたは2列の数値行列で,選択した予測子変数の数に応じて決まります。各列には,予測子変数に対応する抽出した観測値の最小値と最大値の間に等間隔に並ぶ100個の点が含まれます。

“条件”“绝对”または“中心”である場合,選択された予測子について,予測子データの値(数据RegressionMdlまたはClassificationMdlの予測子データ)をクエリ点に追加します。

カテゴリカル変数の“QueryPoints”は変更できません。関数plotPartialDependenceでは,選択した変数としてすべてカテゴリカル値を使用します。

1つの数値変数と1つのカテゴリカル変数を選択した場合,数値列ベクトルと空の配列で構成される细胞配列を使用することにより,数値変数について“QueryPoints”を指定できます。

例:QueryPoints, {pt, []}

データ型:||细胞

並列実行のフラグ。真正的またはとして指定します。“UseParallel”,真的を指定した場合,関数plotPartialDependenceは各観測値の応答またはスコアの予測と平均化を行う際,parforを使用してループの反復を並列実行します。このオプションには并行计算工具箱™が必要です。

例:“UseParallel”,真的

データ型:逻辑

出力引数

すべて折りたたむ

プロットの座標軸。斧头es オブジェクトとして返されます。座標軸の外観を変更する方法とプロットからデータを抽出する方法の詳細については、座標軸の外観およびプロットからの部分従属推定値の抽出を参照してください。

詳細

すべて折りたたむ

回帰モデルの部分従属

部分従属[1]は,学習済みの回帰モデルにおける予測子変数と予測応答の関係を表します。plotPartialDependenceは,他の変数を除外することにより,予測子変数のサブセットにおける予測応答の部分従属を計算します。

予測子変数全体の集合X = {X1, x2x、…のサブセットX年代における部分従属について考えます。サブセットX年代には1つまたは2つの変数が含まれます(X年代= {xS1またはX年代= {xS1, xS2)。XCはXにおけるX年代の補集合であるとします。予測応答f (X)は,X内のすべての変数に依存します。

f (X) = f (X年代, XC)。

X年代に対する予測応答の部分従属は,XCに関する予測応答の期待値によって定義されます。

f 年代 X 年代 E C f X 年代 X C f X 年代 X C p C X C d X C

ここで,pC(XC)はXCの周辺確率です。つまり, p C X C p X 年代 X C d X 年代 です。各観測値の確率が同程度であり,応答におけるX年代とXCの間の従属およびX年代とXCの交互作用が強くないと仮定することにより,plotPartialDependenceは観測された予測子データを使用して次のように部分従属を推定します。

f 年代 X 年代 1 N 1 N f X 年代 X C (1)

ここでNは観測値の個数,XX = (年代, XCは我番目の観測値です。

関数plotPartialDependenceを呼び出す場合,入力引数RegressionMdlvarを使用して,学習済みモデル(f(·))の指定と変数(X年代)の選択をそれぞれ行うことができます。plotPartialDependenceはX年代100年からの個の等間隔の点,または名前と値のペアの引数“QueryPoints”で指定された点における部分従属を計算します。特定の予測子データから抽出する観測値の個数(N)は,名前と値のペアの引数“NumObservationsToSample”を使用して指定できます。

回帰モデルの個別条件付き期待値

個別条件付き期待値(ICE)[2]は,部分従属の拡張として,各観測値の予測子変数と予測応答の関係を表します。部分従属は,予測子変数と予測応答の平均化された関係を示します。これに対して,一連の冰プロットは,平均化された情報を分解し,各観測値の個別の従属を示します。

plotPartialDependenceは各観測値について冰プロットを作成します。一連の冰プロットは,異なる観測値に由来する部分従属の不均質性を調べるために役立ちます。plotPartialDependenceは,入力引数数据によって与えられた予測子データに対する冰プロットも作成できます。この機能を使用して予測応答空間を調べることができます。

特定の観測値XCについて,選択した予測子変数x年代の冰プロットを考えます。ここで,X年代= {x年代でありXCは変数全体の集合XにおけるX年代の補集合,XX = (年代, XCは我番目の観測値です。冰プロットは,式 1における総和の被加数に対応します。

f 年代 X 年代 f X 年代 X C

“条件”として“绝对”が指定された場合,plotPartialDependenceは各観測値我について f 年代 X 年代 をプロットします。“条件”として“中心”が指定された場合,plotPartialDependenceは,異なる観測値によって生じたレベルの影響を除去してから,すべてのプロットを描画します。

f 年代 为中心的 X 年代 f X 年代 X C f 最小值 X 年代 X C

この除去により,各プロットがゼロから始まるようになるので,X年代の累積的な効果およびX年代とXCの間の交互作用を確認できます。

分類モデルの部分従属と冰

分類モデルの場合,plotPartialDependenceは,回帰モデルと同じ方法で部分従属と個別条件付き期待値を計算します。1つ違う点として,関数はモデルからの予測応答ではなく,标签で指定されたクラスの予測スコアを使用します。

重み付き走査アルゴリズム

重み付き走査アルゴリズム[1]は,木ベースのモデルの部分従属を推定する手法です。推定される部分従属は,木の走査時に到達した葉ノードに対応する応答またはスコアの値の加重平均です。

X年代は変数全体の集合Xのサブセット,XCはXにおけるX年代の補集合であるとします。このアルゴリズムでは,部分従属を計算するX年代の各値について,ルート(開始)ノードから葉(終端)ノードに向かって木を走査し,葉ノードの重みを求めます。走査は,ルートノードに1という重みの値を割り当てることにより始まります。X年代でノードが分割される場合,X年代の値に応じて適切な子ノードが走査されます。子ノードの重みは親ノードと同じになります。XCでノードが分割される場合,両方の子ノードが走査されます。各子ノードの重みは,各子ノードに対応する観測値の比率を親ノードの値に乗算した値になります。木の走査の完了後,割り当てられた重みを使用して加重平均が計算されます。

バギング木のアンサンブルの場合,推定される部分従属は,各木の加重平均の平均です。

アルゴリズム

plotPartialDependenceは,関数预测を使用して応答またはスコアを予測します。plotPartialDependenceは,モデル(RegressionMdlまたはClassificationMdl)に従って適切な関数预测を選択し,既定の設定で预测を実行します。各関数预测の詳細については,次の2つの表の関数预测を参照してください。指定したモデルが木ベースのモデル(木のブースティングアンサンブルを除く)で“条件”“没有”の場合,plotPartialDependenceは関数预测ではなく重み付き走査アルゴリズムを使用します。詳細については,重み付き走査アルゴリズムを参照してください。

回帰モデルオブジェクト

モデルタイプ 完全またはコンパクトな回帰モデルオブジェクト 応答を予測する関数
決定木のアンサンブルのバギング CompactTreeBagger 预测
決定木のアンサンブルのバギング TreeBagger 预测
回帰モデルのアンサンブル RegressionEnsembleRegressionBaggedEnsembleCompactRegressionEnsemble 预测
ランダムな特徴量拡張を使用したガウスカーネル回帰モデル RegressionKernel 预测
ガウス過程回帰 RegressionGPCompactRegressionGP 预测
一般化加法モデル RegressionGAMCompactRegressionGAM 预测
一般化線形混合効果モデル GeneralizedLinearMixedModel 预测
一般化線形モデル GeneralizedLinearModelCompactGeneralizedLinearModel 预测
線形混合効果モデル LinearMixedModel 预测
線形回帰 LinearModelCompactLinearModel 预测
高次元データの線形回帰 RegressionLinear 预测
ニューラルネットワーク回帰モデル RegressionNeuralNetworkCompactRegressionNeuralNetwork 预测
非線形回帰 NonLinearModel 预测
回帰木 RegressionTreeCompactRegressionTree 预测
サポートベクターマシン RegressionSVMCompactRegressionSVM 预测

分類モデルオブジェクト

モデルタイプ 完全またはコンパクトな分類モデルオブジェクト ラベルとスコアを予測する関数
判別分析分類器 ClassificationDiscriminantCompactClassificationDiscriminant 预测
サポートベクターマシンまたはその他の分類器用のマルチクラスモデル ClassificationECOCCompactClassificationECOC 预测
分類用のアンサンブル学習器 ClassificationEnsembleCompactClassificationEnsembleClassificationBaggedEnsemble 预测
ランダムな特徴量拡張を使用したガウスカーネル分類モデル ClassificationKernel 预测
一般化加法モデル ClassificationGAMCompactClassificationGAM 预测
k最近傍モデル ClassificationKNN 预测
線形分類モデル ClassificationLinear 预测
単純ベイズモデル ClassificationNaiveBayesCompactClassificationNaiveBayes 预测
ニューラルネットワーク分類器 ClassificationNeuralNetworkCompactClassificationNeuralNetwork 预测
1クラスおよびバイナリ分類用のサポートベクターマシン ClassificationSVMCompactClassificationSVM 预测
マルチクラス分類用の二分決定木 ClassificationTreeCompactClassificationTree 预测
決定木のバギングアンサンブル TreeBaggerCompactTreeBagger 预测

代替機能

  • partialDependenceは可視化せずに部分従属を計算します。この関数は1回の関数呼び出しで2つの変数と複数クラスの部分従属を計算できます。

参照

[1]弗里德曼,杰罗姆。贪婪函数近似:梯度增压机《统计年鉴》第29期5(2001): 1189 - 1232。

Goldstein, Alex, Adam Kapelner, Justin Bleich, Emil Pitkin。《黑盒子里的窥视:用个体条件期望图可视化统计学习》《计算与图形统计学报》,第24期。1(2015年1月2日):44-65。

哈斯蒂,特雷弗,罗伯特·蒂布希拉尼和杰罗姆·弗里德曼。统计学习的要素。纽约,纽约:施普林格纽约,2001。

拡張機能

R2017bで導入