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-by-NLambda матрица, где p является количеством предикторов, и каждый столбец B является набором коэффициентов, lasso вычисляет использование того значение штрафа Lambda.

FitInfo

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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 возвращает квадратичную модель в порядке постоянного термина, линейных членов и периоды взаимодействия: постоянный термин, x1, x2, x3, x1.*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 для одной переменной прогноза: x1, x2, x3, x1.*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