lassoPlot

Проследите график подгонки лассо

Синтаксис

lassoPlot(B)
lassoPlot(B,FitInfo)
lassoPlot(B,FitInfo,Name,Value)
[ax,figh] = lassoPlot(___)

Описание

lassoPlot(B) создает график трассировки значений в B против L 1 норма B.

lassoPlot(B,FitInfo) создает график с типом в зависимости от типа данных FitInfo и значение, если таковые имеются, PlotType пара "имя-значение".

lassoPlot(B,FitInfo,Name,Value) создает график с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

[ax,figh] = lassoPlot(___), для любого предыдущего входного синтаксиса, возвращает указатель ax к оси графика и указателю figh к окну рисунка.

Входные параметры

B

Коэффициенты последовательности подгонок регрессии, как возвращено в lasso или lassoglm функции. B p- NLambda матрица, где p количество предикторов и каждый столбец B набор коэффициентов lasso вычисляет использование того Lambda значение штрафа.

FitInfo

Информация, управляющая графиком:

  • FitInfo структура, тем более, что возвращенный в lasso или lassoglmlassoPlot создает график на основе PlotType пара "имя-значение".

  • FitInfo вектор — lassoPlot формирует x - ось графика от значений в FitInfo. Длина FitInfo должен равняться количеству столбцов B.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'Parent'

Ось, на которой можно построить график.

Значение по умолчанию: Newplot

'PlotType'

Постройте тип, когда вы зададите FitInfo вектор или структура:

PlotTypeГрафик
'L1'lassoPlot создает x - ось от L 1 норма коэффициентов в B. x - ось наверху графика содержит степени свободы (df), означая количество ненулевых коэффициентов B.

'Lambda'

Когда вы выбираете это значение, FitInfo должна быть структура.

lassoPlot создает x - ось от Lambda поле FitInfo. x - ось наверху графика содержит степени свободы (df), означая количество ненулевых коэффициентов B.

'CV'

Когда вы выбираете это значение, FitInfo должна быть перекрестная подтвержденная структура.

  • Для каждого Lambda, lassoPlot строит оценку среднеквадратической ошибки прогноза на новых данных для модели, подбиравшей lasso с тем значением Lambda.

  • lassoPlot значение погрешности графиков для оценок.

Если вы включаете перекрестный подтвержденный FitInfo структура, lassoPlot также указывает на два определенных Lambda значения с зелеными и синими пунктирными линиями.

  • Зеленая, пунктирная линия указывает на значение Lambda с минимумом перекрестная подтвержденная среднеквадратическая ошибка (MSE).

  • Синяя, пунктирная линия указывает на самый большой Lambda это в одной стандартной погрешности минимального MSE. Это значение Lambda делает самую разреженную модель с относительно низким MSE.

Чтобы отобразить метку для каждого графика в легенде фигуры, введите legend('show') в Командном окне.

Значение по умолчанию: 'L1'

'PredictorNames'

Массив строк или массив ячеек из символьных векторов, чтобы пометить каждый коэффициент B. Если длина PredictorNames меньше количества строк B, остающиеся метки дополнены значениями по умолчанию.

lassoPlot использование PredictorNames в FitInfo только если:

  • Вы создали FitInfo с вызовом lasso это включало PredictorNames пара "имя-значение".

  • Вы вызываете lassoPlot без PredictorNames пара "имя-значение".

  • Вы включаете FitInfo в вашем lassoPlot вызвать.

Для примера см. График Лассо с Типом Графика По умолчанию.

Значение по умолчанию: {'B1','B2',...}

'XScale'

  • 'linear' для линейной оси X

  • 'log' для логарифмической масштабированной оси X

Значение по умолчанию: 'linear', кроме 'log' для 'CV' постройте тип

Выходные аргументы

ax

Обработайте к оси графика (см. Внешний вид осей (MATLAB)).

figh

Обработайте к окну рисунка (см. Идентификаторы Специального объекта (MATLAB)).

Примеры

свернуть все

Загрузите выборочные данные

load acetylene

Подготовьте матрицу проекта к подгонке лассо со взаимодействиями.

X = [x1 x2 x3];
D = x2fx(X,'interaction');
D(:,1) = []; % No constant term

x2fx функция возвращает квадратичную модель в порядке постоянного термина, линейных членов и периоды взаимодействия: постоянный термин, x1x2 , x3x1, x2 , x1.*x3, и x2.*x3

Подбирайте упорядоченную модель данных с помощью lasso.

B = lasso(D,y);

Постройте подгонки лассо с помеченными коэффициентами при помощи PredictorNames пара "имя-значение".

lassoPlot(B,'PredictorNames',{'x1','x2','x3','x1.*x2','x1.*x3','x2.*x3'});
legend('show','Location','NorthWest') % Show legend

Каждая линия представляет трассировку значений в B для одного переменного предиктора: x1x2 , x3x1, x2 , x1.*x3, и x2.*x3.

Отобразите всплывающую подсказку для графика трассировки. Всплывающая подсказка появляется, когда вы наводите на всплывающую подсказку.

Всплывающая подсказка отображает эти линии информации: имя выбранного коэффициента с подходящим значением, нормой L1 набора коэффициентов включая выбранный коэффициент и индексом соответствующего Lambda.

Загрузите выборочные данные.

load acetylene

Подготовьте данные к подгонке лассо со взаимодействиями.

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');

Визуально исследуйте перекрестную подтвержденную ошибку различных уровней регуляризации.

Загрузите выборочные данные.

load acetylene

Создайте матрицу проекта со взаимодействиями и никаким постоянным термином.

X = [x1 x2 x3];
D = x2fx(X,'interaction');
D(:,1) = []; % No constant term

Создайте подгонку лассо использование 10-кратной перекрестной проверки. Включайте FitInfo выведите так, можно построить результат.

rng default % For reproducibility 
[B,FitInfo] = lasso(D,y,'CV',10);

Постройте перекрестные подтвержденные подгонки.

lassoPlot(B,FitInfo,'PlotType','CV');
legend('show') % Show legend

Зеленая круговая и пунктирная линия определяет местоположение Lambda с минимальной ошибкой перекрестной проверки. Синяя круговая и пунктирная линия определяет местоположение точки с минимальной ошибкой перекрестной проверки плюс одно стандартное отклонение.

Представленный в R2011b