Создайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP)
plotPartialDependence(Mdl,Vars)
plotPartialDependence(Mdl,Vars,X)
plotPartialDependence(___,Name,Value)
ax = plotPartialDependence(___)
plotPartialDependence(___,
дополнительные опции использования заданы одним или несколькими аргументами пары "имя-значение" в дополнение к любому из аргументов в предыдущих синтаксисах. Например, если вы задаете Name,Value
)'Conditional','absolute'
, функция plotPartialDependence
создает фигуру включая PDP, график рассеивания выбранной функции и предсказанных ответов и графика ICE для каждого наблюдения.
Обучите дерево регрессии использование набора данных carsmall
и создайте PDP, который показывает отношение между функцией и предсказанными ответами в обученном дереве регрессии.
Загрузите набор данных carsmall
.
load carsmall
Задайте Weight
, Cylinders
и Horsepower
как переменные прогноза (X
) и MPG
как переменная отклика (Y
).
X = [Weight,Cylinders,Horsepower]; Y = MPG;
Создайте дерево регрессии использование X
и Y
.
Mdl = fitrtree(X,Y);
Просмотрите графический дисплей обученного дерева регрессии.
view(Mdl,'Mode','graph')
Создайте PDP первой переменной прогноза, Weight
.
plotPartialDependence(Mdl,1)
Синяя строка представляет усредненные частичные отношения между Weight
(маркированный как x1
) и MPG
(маркированный как Y
) в обученном дереве регрессии Mdl
.
Средство просмотра дерева регрессии показывает, что первое решение состоит в том, меньше ли x1
, чем 3 085,5. PDP также показывает большое изменение около x1
= 3085.5. Древовидное средство просмотра визуализирует каждое решение в каждом узле на основе переменных прогноза. Можно найти несколько разделений узлов на основе значений x1
, но не легко выяснить зависимость Y
на x1
. Однако графики PDP составили в среднем предсказанные ответы против x1
, таким образом, можно ясно видеть частичную зависимость Y
на x1
.
Маркирует x1
, и Y
значения по умолчанию имен предиктора и имени ответа. Можно изменить эти имена путем определения аргументов пары "имя-значение" 'PredictorNames'
и 'ResponseName'
, когда вы обучаете Mdl
с помощью fitrtree
. Можно также изменить подписи по осям при помощи функций ylabel
и xlabel
.
Обучите Гауссову модель регрессии процесса использование сгенерированных выборочных данных, где переменная отклика включает взаимодействия между переменными прогноза. Затем создайте графики ICE, которые показывают отношение между функцией и предсказанными ответами для каждого наблюдения.
Сгенерируйте демонстрационные данные о предикторе x1
и x2
.
rng('default') % For reproducibility n = 200; x1 = rand(n,1)*2-1; x2 = rand(n,1)*2-1;
Сгенерируйте значения ответа, которые включают взаимодействия между x1
и x2
.
Y = x1-2*x1.*(x2>0)+0.1*rand(n,1);
Создайте Гауссову модель регрессии процесса использование [x1 x2]
и Y
.
Mdl = fitrgp([x1 x2],Y);
Создайте фигуру включая PDP (красная линия) для первого предиктора x1
, график рассеивания (черные круговые маркеры) x1
и предсказанных ответов и набора графиков ICE (серые строки) путем определения 'Conditional'
как 'centered'
.
plotPartialDependence(Mdl,1,'Conditional','centered')
Когда 'Conditional'
является 'centered'
, графики смещений plotPartialDependence
так, чтобы все графики начали с нуля, который полезен в исследовании совокупного эффекта выбранной функции.
PDP находит усредненные отношения, таким образом, он не показывает скрытые зависимости особенно, когда ответы включают взаимодействия между функциями. Однако графики ICE ясно показывают две различных зависимости ответов на x1
.
Обучите ансамбль регрессии, использующий набор данных carsmall
, и создайте график PDP и графики ICE для каждой переменной прогноза с помощью нового набора данных, carbig
. Затем сравните фигуры, чтобы анализировать важность переменных прогноза. Кроме того, сравните результаты с оценками важности предиктора, возвращенной функцией predictorImportance
.
Загрузите набор данных carsmall
.
load carsmall
Задайте Weight
, Cylinders
, Horsepower
и Model_Year
как переменные прогноза (X
) и MPG
как переменная отклика (Y
).
X = [Weight,Cylinders,Horsepower,Model_Year]; Y = MPG;
Обучите ансамбль регрессии, использующий X
и Y
.
Mdl = fitrensemble(X,Y, ... 'PredictorNames',{'Weight','Cylinders','Horsepower','Model Year'}, ... 'ResponseName','MPG');
Сравните важность переменных прогноза при помощи функций predictorImportance
и plotPartialDependence
. Функция plotPartialDependence
визуализирует отношения между выбранным предиктором и предсказанными ответами. predictorImportance
обобщает важность предиктора с одним значением.
Создайте фигуру включая график PDP (красная линия) и графики ICE (серые строки) для каждого предиктора при помощи plotPartialDependence
и определения 'Conditional','absolute'
. Каждая фигура также включает график рассеивания (черные круговые маркеры) выбранного предиктора и предсказанных ответов. Кроме того, загрузите набор данных carbig
и используйте его в качестве новых данных о предикторе, Xnew
. Когда вы обеспечиваете Xnew
, функция plotPartialDependence
использует Xnew
вместо данных о предикторе в Mdl
.
load carbig Xnew = [Weight,Cylinders,Horsepower,Model_Year]; f = figure; f.Position = [100 100 1.75*f.Position(3:4)]; % Enlarge figure for visibility. for i = 1 : 4 subplot(2,2,i) plotPartialDependence(Mdl,i,Xnew,'Conditional','absolute') end
Вычислите оценки важности предиктора при помощи predictorImportance
. Эта функция изменения сумм в среднеквадратической ошибке (MSE) из-за разделений на каждом предикторе, и затем делит сумму на количество узлов ответвления.
imp = predictorImportance(Mdl); figure; bar(imp); title('Predictor Importance Estimates'); ylabel('Estimates'); xlabel('Predictors'); ax = gca; ax.XTickLabel = Mdl.PredictorNames;
Переменная Weight
оказывает большую часть влияния на MPG
согласно важности предиктора. PDP Weight
также показывает, что MPG
имеет высокую частичную зависимость от Weight
. Переменная Cylinders
оказывает наименьшее количество влияния на MPG
согласно важности предиктора. PDP Cylinders
также показывает, что MPG
не изменяется очень в зависимости от Cylinders
.
Обучите модель регрессии машины вектора поддержки (SVM) использование набора данных carsmall
и создайте PDP для двух переменных прогноза. Затем извлеките частичные оценки зависимости от вывода plotPartialDependence
.
Загрузите набор данных carsmall
.
load carsmall
Задайте Weight
, Cylinders
и Horsepower
как переменные прогноза (Tbl
).
Tbl = table(Weight,Cylinders,Horsepower);
Создайте модель регрессии машины вектора поддержки (SVM) использование Tbl
и переменной отклика MPG
. Используйте Гауссову функцию ядра с автоматической шкалой ядра.
Mdl = fitrsvm(Tbl,MPG,'ResponseName','MPG', ... 'KernelFunction','gaussian','KernelScale','auto');
Создайте PDP, который визуализирует частичную зависимость предсказанных ответов (MPG
) на переменных прогноза Weight
и Horsepower
. Используйте аргумент пары "имя-значение" QueryPoints
, чтобы задать точки, чтобы вычислить частичную зависимость.
pt1 = linspace(min(Weight),max(Weight),50)'; pt2 = linspace(min(Horsepower),max(Horsepower),50)'; ax = plotPartialDependence(Mdl,{'Weight','Horsepower'},'QueryPoints',[pt1 pt2]); view(140,30) % Modify the viewing angle
PDP показывает эффект взаимодействия между Weight
и Horsepower
.
Извлеките предполагаемую частичную зависимость MPG
на Weight
и Horsepower
. XData
, YData
и значения ZData
ax.Children
являются значениями оси X (первые выбранные значения предиктора), значения оси Y (вторые выбранные значения предиктора) и значения оси z (соответствующие частичные значения зависимости), соответственно.
xval = ax.Children.XData; yval = ax.Children.YData; zval = ax.Children.ZData;
Если вы задаете 'Conditional'
как 'absolute'
, plotPartialDependence
создает фигуру включая PDP, график рассеивания и набор графиков ICE. ax.Children(1)
и ax.Children(2)
соответствуют PDP и графику рассеивания, соответственно. Остающиеся элементы ax.Children
соответствуют графикам ICE. XData
и значения YData
ax.Children(i)
являются значениями оси X (выбранные значения предиктора) и значения оси Y (соответствующие частичные значения зависимости), соответственно.
Mdl
— Обученная модель регрессииОбученная модель регрессии, заданная как полный или компактный объект модели регрессии, описана в следующей таблице.
Обученный тип модели | Объект модели регрессии | Возвращенный |
---|---|---|
Загрузите агрегацию для ансамбля деревьев решений | TreeBagger , CompactTreeBagger | TreeBagger , compact |
Ансамбль моделей регрессии | RegressionEnsemble , RegressionBaggedEnsemble , CompactRegressionEnsemble | fitrensemble , compact |
Гауссова регрессия процесса | RegressionGP , CompactRegressionGP | fitrgp , compact |
Обобщенная линейная модель смешанного эффекта | GeneralizedLinearMixedModel | fitglme |
Обобщенная линейная модель | GeneralizedLinearModel , CompactGeneralizedLinearModel | fitglm , stepwiseglm , compact |
Линейная модель смешанного эффекта | LinearMixedModel | fitlme , fitlmematrix |
Линейная регрессия | LinearModel , CompactLinearModel | fitlm , stepwiselm , compact |
Линейная регрессия для высоко-размерных данных | RegressionLinear | fitrlinear |
Нелинейная регрессия | NonLinearModel | fitnlm |
Дерево регрессии | RegressionTree , CompactRegressionTree | fitrtree , compact |
Поддержите векторную регрессию машины | RegressionSVM , CompactRegressionSVM | fitrsvm , compact |
Если Mdl
является компактным объектом модели регрессии, необходимо обеспечить X
.
plotPartialDependence
не поддерживает обученный объект модели с разреженной матрицей. Если вы обучаете Mdl
при помощи fitrlinear
, используйте полную числовую матрицу для данных о предикторе, где строки соответствуют отдельным наблюдениям.
Вар
Функции, чтобы визуализироватьФункции, чтобы визуализировать, заданный как вектор положительных целых чисел, вектора символов или представить в виде строки скаляр, массив строк или массив ячеек из символьных векторов. Можно выбрать одну или две функции, как показано в следующих таблицах.
Одна функция
Значение | Описание |
---|---|
положительное целое число | Индексируйте значение, соответствующее столбцу данных о предикторе, чтобы визуализировать. |
вектор символов или скаляр строки |
Имя переменной прогноза, чтобы визуализировать. Имя должно совпадать с записью в |
Две функции
Значение | Описание |
---|---|
вектор двух положительных целых чисел | Индексируйте значения, соответствующие столбцам данных о предикторе, чтобы визуализировать. |
массив строк или массив ячеек из символьных векторов |
Имена переменных прогноза, чтобы визуализировать. Каждый элемент в массиве является именем переменной прогноза. Имена должны совпадать с записями в |
Пример: {'x1','x3'}
Типы данных: single
| double
| char
| string
| cell
X
Данные о предиктореДанные о предикторе, заданные как числовая матрица или таблица. Каждая строка X
соответствует одному наблюдению, и каждый столбец соответствует одной переменной.
Если Mdl
является полным объектом модели регрессии, plotPartialDependence
использует данные о предикторе в Mdl
. Если вы обеспечиваете X
, то plotPartialDependence
не использует данные о предикторе в Mdl
и использует X
только.
Если Mdl
является компактным объектом модели регрессии, необходимо обеспечить X
.
X
должен быть сопоставим с данными о предикторе, которые обучили Mdl
, сохраненный или в Mdl.X
или в Mdl.Variables
.
Если бы вы обучили Mdl
с помощью числовой матрицы, то X
должен быть числовой матрицей. Переменные, составляющие столбцы X
, должны иметь тот же номер и порядок как переменные прогноза, которые обучили Mdl
.
Если бы вы обучили Mdl
с помощью таблицы (например, Tbl
), то X
должен быть таблицей. Все переменные прогноза в X
должны иметь те же имена переменных и типы данных как имена и типы в Tbl
. Однако порядок следования столбцов X
не должен соответствовать порядку следования столбцов Tbl
.
plotPartialDependence
не поддерживает разреженную матрицу.
Типы данных: single
| double
| table
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
plotPartialDependence(Mdl,Vars,X,'NumObservationsToSample',100,'UseParallel',true)
создает PDP при помощи 100 выбранных наблюдений в X
и выполняющемся for
- итерации цикла параллельно.'Conditional'
— Постройте тип'none'
(значение по умолчанию) | 'absolute'
| 'centered'
Постройте тип, заданный как пара, разделенная запятой, состоящая из 'Conditional'
и 'none'
, 'absolute'
или 'centered'
.
Значение | Описание |
---|---|
'none' |
|
'absolute' |
Это значение допустимо, когда вы выбираете только одну функцию. |
'centered' |
Это значение допустимо, когда вы выбираете только одну функцию. |
Для получения дополнительной информации см. Частичный График Зависимости и Отдельные Условные Графики Ожидания.
Пример: 'Conditional','absolute'
'NumObservationsToSample'
— Количество наблюдений к выборкеКоличество наблюдений к выборке, заданной как пара, разделенная запятой, состоящая из 'NumObservationsToSample'
и положительного целого числа. Значение по умолчанию является количеством общих наблюдений или в Mdl
или в X
. Если вы задаете значение, больше, чем количество общих наблюдений, то plotPartialDependence
использует все наблюдения.
Демонстрационные наблюдения plotPartialDependence
без замены при помощи функционального datasample
и использования выбранные наблюдения, чтобы вычислить частичную зависимость. Если вы задаете 'Conditional'
или как 'absolute'
или как 'centered'
, plotPartialDependence
создает фигуру включая график ICE для каждого выбранного наблюдения.
Пример: 'NumObservationsToSample',100
Типы данных: single | double
'ParentAxisHandle'
— Оси, в которых можно построитьgca
(значение по умолчанию) | объект осейОси, в которых можно построить, заданный как пара, разделенная запятой, состоящая из 'ParentAxisHandle'
и объекта осей. Если вы не задаете оси и если текущая система координат является Декартовой, то plotPartialDependence
использует текущую систему координат (gca
). Если оси не существуют, графики plotPartialDependence
в новой фигуре.
Пример: 'ParentAxisHandle',ax
'QueryPoints'
— Точки, чтобы вычислить частичную зависимостьТочки, чтобы вычислить частичную зависимость, заданную как пара, разделенная запятой, состоящая из 'QueryPoints'
и числового вектор-столбца, числовой матрицы 2D столбца или массива ячеек двух числовых вектор-столбцов.
Значение по умолчанию является числовым вектор-столбцом или числовой матрицей 2D столбца, в зависимости от количества выбранных функций, где столбец содержит 100 равномерно расположенных с интервалами точек между минимальными и максимальными значениями выбранной функции.
Если вы выбираете одну функцию в Vars
, используйте числовой вектор-столбец.
Если вы выбираете две функции в Vars
:
Используйте числовую матрицу 2D столбца, чтобы задать то же число точек для каждой функции.
Используйте массив ячеек двух числовых вектор-столбцов, чтобы задать различное число точек для каждой функции.
Значения по умолчанию для категориальной функции являются всеми категориальными значениями в выбранной функции. Вы не можете изменить 'QueryPoints'
для категориальной функции. Если вы выбираете одну числовую функцию и одну категориальную функцию, можно задать 'QueryPoints'
для числовой функции при помощи массива ячеек, состоящего из числового вектор-столбца и пустого массива.
Пример: 'QueryPoints',{pt,[]}
Типы данных: single
| double
| cell
'UseParallel'
Отметьте, чтобы запуститься параллельноfalse
(значение по умолчанию) | true
Отметьте, чтобы запуститься параллельно, заданный как пара, разделенная запятой, состоящая из 'UseParallel'
и true
или false
. Если вы задаете 'UseParallel'
как true
, plotPartialDependence
выполняет for
- итерации цикла параллельно при помощи parfor
при предсказании ответов для каждого наблюдения и усреднении их.
Пример: 'UseParallel',true
Типы данных: логический
ax
— Оси графикаОси графика, возвращенного как объект осей. Для получения дополнительной информации о том, как изменить внешний вид осей и данных об извлечении из графиков, см. Внешний вид осей (MATLAB) и Извлечение Частичные Оценки Зависимости из Графиков.
Частичный график зависимости [1] (PDP) визуализирует отношения между функциями и предсказанными ответами в обученной модели регрессии. plotPartialDependence
построил или график или объемную поверхностную диаграмму предсказанных ответов против одной функции или пары функций, соответственно, путем маргинализации по другим переменным.
Считайте PDP для подмножества XS целого набора функций X = {x1, x2, …, xm}. Подмножество XS включает или одну функцию или две функции: XS = {xS1} или XS = {xS1, xS2}. Позвольте XC быть дополнительным набором XS в X. Предсказанный ответ f (X) зависит от всех функций в X:
f (X) = f (XS, XC).
Частичная зависимость предсказанных ответов на XS задана ожиданием предсказанных ответов относительно XC:
где pC (XC) является безусловной вероятностью XC, то есть, . Предположение, что каждое наблюдение одинаково вероятно, и зависимость между XS и XC и взаимодействиями XS и XC в ответах, не сильно, plotPartialDependence
оценивает частичную зависимость при помощи наблюдаемых данных о предикторе можно следующим образом:
(1) |
где N является количеством наблюдений, и Xi = (XiS, XiC) является i th наблюдение.
plotPartialDependence
создает PDP при помощи уравнения 1. Введите обученную модель (f(·)) и выберите функции (XS), чтобы визуализировать при помощи входных параметров Mdl
и Vars
, соответственно. plotPartialDependence
вычисляет частичную зависимость в 100 равномерно расположенных с интервалами точках XS или точках, что вы задаете при помощи аргумента пары "имя-значение" 'QueryPoints'
. Можно задать номер (N) наблюдений к выборке от данных данных о предикторе при помощи аргумента пары "имя-значение" 'NumObservationsToSample'
.
График отдельного условного ожидания (ICE) [2], как расширение PDP, визуализирует отношение между функцией и предсказанными ответами для каждого наблюдения. В то время как PDP визуализирует усредненное отношение между функциями и предсказанными ответами, набор графиков ICE дезагрегирует усредненную информацию и визуализирует отдельную зависимость для каждого наблюдения.
plotPartialDependence
создает график ICE для каждого наблюдения. Набор графиков ICE полезен, чтобы исследовать неоднородности частичной зависимости, происходящей из различных наблюдений. plotPartialDependence
может также создать графики ICE с любыми данными о предикторе, обеспеченными через входной параметр X
. Можно использовать эту функцию, чтобы исследовать предсказанный пробел ответа.
Считайте график ICE для выбранной функции xS с данным наблюдением XiC, где XS = {xS}, XC является дополнительным набором XS в целом наборе функций X, и Xi = (XiS, XiC) является i th наблюдение. График ICE соответствует слагаемому суммирования в уравнении 1:
Графики plotPartialDependence
для каждого наблюдения i, когда вы задаете 'Conditional'
как 'absolute'
. Если вы задаете 'Conditional'
как 'centered'
, plotPartialDependence
строит все графики после удаления эффектов уровня из-за различных наблюдений:
Это вычитание гарантирует, что каждый график начинает с нуля, так, чтобы можно было исследовать совокупный эффект XS и взаимодействий между XS и XC.
Взвешенный пересекающийся алгоритм [1] является методом, чтобы оценить частичную зависимость для основанной на дереве модели регрессии. Предполагаемая частичная зависимость является взвешенным средним значений ответа, соответствующих вершинам, которые посещают во время обхода дерева.
Позвольте XS быть подмножеством целого набора функций X и XC быть дополнительным набором XS в X. Для каждого значения XS, чтобы вычислить частичную зависимость, алгоритм пересекает дерево от корня (начало) узел вниз к листу (терминал) узлы и находит веса вершин. Обход запускается путем присвоения значения веса одного в корневом узле. Если узел разделяет XS, пересечениями алгоритма к соответствующему дочернему узлу в зависимости от значения XS. Вес дочернего узла становится тем же значением как свой родительский узел. Если узел разделяет XC, пересечениями алгоритма к обоим дочерним узлам. Вес каждого дочернего узла становится значением своего родительского узла, умноженного на часть наблюдений, соответствующих каждому дочернему узлу. После завершения обхода дерева алгоритм вычисляет взвешенное среднее при помощи присвоенных весов.
Для ансамбля деревьев регрессии предполагаемая частичная зависимость является в среднем взвешенными средними по отдельным деревьям регрессии.
plotPartialDependence
использует функцию predict
, чтобы предсказать ответы. plotPartialDependence
выбирает соответствующую функцию predict
согласно Mdl
и запускает predict
с его настройками по умолчанию. Для получения дополнительной информации о каждой функции predict
, смотрите, что predict
функционирует в следующей таблице. Если Mdl
является основанной на дереве моделью, и 'Conditional'
является 'none'
, то plotPartialDependence
использует взвешенный пересекающийся алгоритм вместо функции predict
. Для получения дополнительной информации см. Взвешенный Пересекающийся Алгоритм.
Обученный тип модели | Объект модели регрессии | Функция, чтобы предсказать ответы |
---|---|---|
Загрузите агрегацию для ансамбля деревьев решений | CompactTreeBagger | predict |
Загрузите агрегацию для ансамбля деревьев решений | TreeBagger | predict |
Ансамбль моделей регрессии | RegressionEnsemble , RegressionBaggedEnsemble , CompactRegressionEnsemble | predict |
Гауссова регрессия процесса | RegressionGP , CompactRegressionGP | predict |
Обобщенная линейная модель смешанного эффекта | GeneralizedLinearMixedModel | predict |
Обобщенная линейная модель | GeneralizedLinearModel , CompactGeneralizedLinearModel | predict |
Линейная модель смешанного эффекта | LinearMixedModel | predict |
Линейная регрессия | LinearModel , CompactLinearModel | predict |
Линейная регрессия для высоко-размерных данных | RegressionLinear | predict |
Нелинейная регрессия | NonLinearModel | predict |
Дерево регрессии | RegressionTree , CompactRegressionTree | predict |
Поддержите векторную регрессию машины | RegressionSVM , CompactRegressionSVM | predict |
[1] Фридман, J. H. “Жадное приближение функций: машина повышения градиента”. Летопись Статистики. Издание 29, № 5, 2001, стр 1189-1232.
[2] Голдстайн, A., А. Кэпелнер, Дж. Блейч и Э. Питкин. “Посмотрев в черном квадрате: Визуализация статистического изучения с графиками отдельного условного ожидания”. Журнал Вычислительной и Графической Статистики. Издание 24, № 1, 2015, стр 44-65.
[3] Hastie, T., Р. Тибширэни и Дж. Х. Фридман. Элементы статистического изучения. Нью-Йорк: Спрингер, 2001.
Чтобы запуститься параллельно, установите опцию 'UseParallel'
на true
.
Установите аргумент пары "имя-значение" 'UseParallel',true
в вызове этой функции.
Для более общей информации о параллельных вычислениях смотрите функции MATLAB Выполнения с Автоматической Параллельной Поддержкой (Parallel Computing Toolbox).
oobPermutedPredictorImportance
| predictorImportance
| predictorImportance
| relieff
| sequentialfs
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.