lassoPlot
LASSO 近似のトレース プロット
説明
lassoPlot(
は、B
)B
の L1 ノルムに対して、B
の値のトレース プロットを作成します。
lassoPlot(
は、1 つ以上の名前と値の引数で指定された追加オプションを使用してプロットを作成します。B
,FitInfo
,Name=Value
)
例
既定のプロット タイプでの LASSO プロット
標本データを読み込みます。
load acetylene
交互作用のある LASSO 近似の計画行列を準備します。関数x2fx
は、定数項、線形項、交互作用項という順序で 2 次モデルを返します。つまり、定数項、x1
、x2
、x3
、x1.*x2
、x1.*x3
、x2.*x3
という順序になります。
X = [x1 x2 x3]; D = x2fx(X,"interaction"); D(:,1) = []; % No constant term
関数 lasso
を使用してデータの正則化モデルを当てはめます。
B = lasso(D,y);
名前と値の引数 PredictorNames
を使用して、係数にラベルが付けられた LASSO 近似をプロットします。それぞれの線は、単一の予測子変数 (x1
、x2
、x3
、x1.*x2
、x1.*x3
、x2.*x3
) に対する B 内の値のトレースを表します。
lassoPlot(B,PredictorNames=["x1" "x2" "x3" "x1.*x2" "x1.*x3" "x2.*x3"]); legend("show",Location="NorthWest")
Lambda プロット タイプでの LASSO プロット
標本データを読み込みます。
load acetylene
交互作用のある LASSO 近似のデータを準備します。
X = [x1 x2 x3]; D = x2fx(X,"interaction"); D(:,1) = []; % No constant term
関数 lasso
を使用してデータの正則化モデルを当てはめます。
[B,FitInfo] = lasso(D,y);
Lambda
プロット タイプと対数スケーリングで近似をプロットします。
lassoPlot(B,FitInfo,PlotType="Lambda",XScale="log");
交差検証した近似での LASSO プロット
さまざまな正則化レベルで交差検証誤差を視覚的に調べます。
標本データを読み込みます。
load acetylene
定数項を持たない、交互作用がある計画行列を作成します。
X = [x1 x2 x3]; D = x2fx(X,"interaction"); D(:,1) = []; % No constant term
10 分割交差検証を使用して LASSO 近似を作成します。結果をプロットできるように、出力 FitInfo
を含めます。
rng default % For reproducibility [B,FitInfo] = lasso(D,y,CV=10);
交差検証した近似をプロットします。緑の円と点線は、交差検証誤差が最小になる Lambda
を示しています。青の円と点線は、最小交差検証誤差に 1 標準誤差を加算した点を示しています。
lassoPlot(B,FitInfo,PlotType="CV"); legend("show")
入力引数
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
例: lassoPlot(B,XScale="log")
は、対数スケールの x 軸を使用します。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: lassoPlot(B,"XScale","log")
は、対数スケールの x 軸を使用します。
Parent
— 親座標軸
Axes
オブジェクト
プロットを描画する親座標軸。Axes
オブジェクトとして指定します。Parent
を指定しない場合、lassoPlot
は、現在の座標軸を使用してプロットを作成します。Axes
オブジェクトを作成する方法の詳細については、axes
を参照してください。
PlotType
— プロット タイプ
"L1"
(既定値) | "Lambda"
| "CV"
プロット タイプ。"L1"
、"Lambda"
、または "CV"
として指定します。引数 PlotType
は、引数 FitInfo
を指定する場合に適用されます。
PlotType | プロット |
---|---|
"L1" | lassoPlot は、B の係数の L1 ノルムから x 軸を作成します。プロットの最上部の x 軸には、B の非ゼロ係数の数である自由度 (df ) が含まれています。 |
|
この値を選択する場合、 |
|
この値を選択する場合、 |
交差検証された構造体 FitInfo
を含めた場合、lassoPlot
は 2 つの特定の Lambda
値も緑と青の破線で示します。
緑の破線は、交差検証平均二乗誤差 (MSE) が最小になる
Lambda
の値を示します。青の破線は、最小の MSE から 1 標準誤差以内にある最大の
Lambda
を示します。この Lambda の値では、最もスパースなモデルの MSE が比較的小さくなります。
Figure の凡例に各プロットのラベルを表示するには、コマンド ウィンドウで「legend("show")
」と入力します。
PredictorNames
— 予測子名
{"B1","B2",...}
(既定値) | string スカラー | 文字ベクトル
予測子名。string 配列または文字ベクトルの cell 配列として指定します。B
の各係数に予測子名のラベルが付けられます。引数 PredictorNames
の長さが B
の行数より小さい場合、残りのラベルには既定値が付加されます。
この引数を指定しない場合、引数 FitInfo
が構造体として指定されていて、その構造体の PredictorNames
フィールドが空 ({}
) でなければ、関数 lassoPlot
は既定値の代わりにそれらの予測子名を使用します。
予測子名を含む凡例を各プロットのラベルとして表示するには、コマンド ウィンドウで「legend("show")
」と入力します。
XScale
— x 軸方向の値のスケール
"linear"
| "log"
x 軸方向の値のスケール。次の値のいずれかとして指定します。
"linear"
— 線形の x 軸。これは、引数PlotType
が"L1"
または"Lambda"
の場合の既定値です。"log"
— 対数スケールの x 軸。これは、引数PlotType
が"CV"
の場合の既定値です。
データ型: string
| char
出力引数
ax
— プロットの座標軸
Axes
オブジェクト
プロットの座標軸。Axes
オブジェクトとして返されます。詳細については、座標軸の外観を参照してください。
figh
— プロットの Figure ウィンドウ
Figure
オブジェクト
プロットの Figure ウィンドウ。Figure
オブジェクトとして返されます。詳細については、特殊オブジェクトの識別子を参照してください。
バージョン履歴
R2011b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
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: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)