Постройте локальные эффекты терминов в обобщенной аддитивной модели (GAM)
plotLocalEffects( создает столбчатый график, показывающий локальные эффекты терминов в обобщенной аддитивной модели Mdl,queryPoint)Mdl на предсказании в заданной точке запроса queryPoint.
plotLocalEffects( задает дополнительные опции с помощью одних или нескольких аргументов name-value. Например, Mdl,queryPoint,Name,Value)'IncludeIntercept',true задает, чтобы включать термин точки пересечения в столбчатый график.
b = plotLocalEffects(___) возвращает объект b столбчатого графика использование любой из комбинаций входных аргументов в предыдущих синтаксисах. Используйте b запросить или изменить Свойства панели столбчатого графика после того, как это создается.
Обучите одномерную обобщенную аддитивную модель классификации, которая содержит линейные члены для предикторов. Классифицируйте новое наблюдение с помощью эффективного памятью объекта модели. Затем интерпретируйте предсказание для заданного экземпляра данных при помощи plotLocalEffects функция.
Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, любой плохо ('b') или хороший ('g').
load ionosphereОбучите одномерный GAM, который идентифицирует, плох ли радарный возврат ('b') или хороший ('g').
Mdl = fitcgam(X,Y);
Mdl ClassificationGAM объект модели.
Сохраните память путем сокращения размера обученной модели.
CMdl = compact(Mdl);
Классифицируйте первое наблюдение за обучающими данными и постройте локальные эффекты терминов в Mdl на предсказании.
label = predict(CMdl,X(1,:))
label = 1x1 cell array
{'g'}
plotLocalEffects(CMdl,X(1,:))

predict функция классифицирует первое наблюдение X(1,:) как 'g'. plotLocalEffects функция создает горизонтальный столбчатый график, который показывает локальные эффекты 10 самых важных терминов на предсказании. Каждое локальное значение эффекта показывает вклад каждого термина к классификационной оценке для 'g', который является логитом апостериорной вероятности, что классификацией является 'g' для наблюдения.
Обучите GAM бинарной классификации и с линейными членами и с периоды взаимодействия для предикторов. Создайте локальный график эффектов, использующий и линейные термины и периоды взаимодействия в модели, и затем создайте график с помощью только линейные термины в модели. Задайте, включать ли периоды взаимодействия при создании локального графика эффектов.
Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, любой плохо ('b') или хороший ('g').
load ionosphereОбучите GAM с помощью предикторов X и класс маркирует Y. Методические рекомендации должны задать имена классов. Задайте, чтобы включать 10 самых важных периодов взаимодействия.
Mdl = fitcgam(X,Y,'ClassNames',{'b','g'},'Interactions',10);
Mdl ClassificationGAM объект модели.
Создайте локальные графики эффектов для 10-го наблюдения. Используйте и линейные термины и периоды взаимодействия в Mdl для первого графика, и используют только линейные термины в Mdl для второго графика. Чтобы исключить периоды взаимодействия, задайте 'IncludeInteractions',false.
t = tiledlayout(2,1); title(t,'Local Effects Plots for 10th Observation') nexttile plotLocalEffects(Mdl,X(10,:)) title('GAM with linear and interaction terms') nexttile plotLocalEffects(Mdl,X(10,:),'IncludeInteractions',false) title('GAM with only linear terms')

Графики отображают 10 самых важных терминов. Оба графика включают девять распространенных слов и один редкий термин. Первый график включает период взаимодействия для x1 и x5, тогда как второй график включает линейный член для x14.
Обучите одномерный GAM регрессии, которая содержит линейные члены для предикторов. Затем интерпретируйте предсказание для заданного экземпляра данных при помощи plotLocalEffects функция.
Загрузите набор данных NYCHousing2015.
load NYCHousing2015Набор данных включает 10 переменных с информацией о продажах свойств в Нью-Йорке в 2 015. Этот пример использует эти переменные, чтобы анализировать отпускные цены (SALEPRICE).
Предварительно обработайте набор данных. Удалите выбросы, преобразуйте datetime массив (SALEDATE) к числам месяца и перемещению переменная отклика (SALEPRICE) к последнему столбцу.
idx = isoutlier(NYCHousing2015.SALEPRICE); NYCHousing2015(idx,:) = []; NYCHousing2015.SALEDATE = month(NYCHousing2015.SALEDATE); NYCHousing2015 = movevars(NYCHousing2015,'SALEPRICE','After','SALEDATE');
Отобразите первые три строки таблицы.
head(NYCHousing2015,3)
ans=3×10 table
BOROUGH NEIGHBORHOOD BUILDINGCLASSCATEGORY RESIDENTIALUNITS COMMERCIALUNITS LANDSQUAREFEET GROSSSQUAREFEET YEARBUILT SALEDATE SALEPRICE
_______ ____________ ____________________________ ________________ _______________ ______________ _______________ _________ ________ _________
2 {'BATHGATE'} {'01 ONE FAMILY DWELLINGS'} 1 0 4750 2619 1899 8 0
2 {'BATHGATE'} {'01 ONE FAMILY DWELLINGS'} 1 0 4750 2619 1899 8 0
2 {'BATHGATE'} {'01 ONE FAMILY DWELLINGS'} 1 1 1287 2528 1899 12 0
Обучите одномерный GAM отпускным ценам. Задайте переменные для BOROUGH, NEIGHBORHOOD, BUILDINGCLASSCATEGORY, и SALEDATE как категориальные предикторы.
Mdl = fitrgam(NYCHousing2015,'SALEPRICE','CategoricalPredictors',[1 2 3 9]);
Mdl RegressionGAM объект модели.
Отобразите предполагаемую точку пересечения (постоянный) термин Mdl.
Mdl.Intercept
ans = 3.7518e+05
Значением термина точки пересечения является близко к среднему значению переменной отклика в регрессии GAM, если обучающие данные не включают NaN значения. Вычислите среднее значение переменной отклика.
mean(NYCHousing2015.SALEPRICE)
ans = 3.7518e+05
Предскажите отпускную цену за первое наблюдение за обучающими данными и постройте локальные эффекты терминов в Mdl на предсказании. Задайте 'IncludeIntercept',true включать термин точки пересечения в график.
yFit = predict(Mdl,NYCHousing2015(1,:))
yFit = 4.4421e+05
plotLocalEffects(Mdl,NYCHousing2015(1,:),'IncludeIntercept',true)
predict функция предсказывает отпускную цену за первое наблюдение как 4.4421e5. plotLocalEffects функция создает горизонтальный столбчатый график, который показывает локальные эффекты терминов в Mdl на предсказании. Каждое локальное значение эффекта показывает вклад каждого термина к предсказанной отпускной цене.
Mdl — Обобщенная аддитивная модельClassificationGAM объект модели | CompactClassificationGAM объект модели | RegressionGAM объект модели | CompactRegressionGAM объект моделиОбобщенная аддитивная модель в виде ClassificationGAM, CompactClassificationGAM, RegressionGAM, или CompactRegressionGAM объект модели.
queryPoint — Точка запросаТочка запроса, в который plotLocalEffects строит локальные эффекты в виде вектора-строки из числовых значений или таблицы одной строки.
Для вектора-строки из числовых значений:
Переменные, который составляет столбцы queryPoint должен иметь тот же порядок как переменные предикторы, которые обучили Mdl.
Если вы обучили Mdl с помощью таблицы (например, Tbl), затем queryPoint может быть числовая матрица если Tbl содержит все числовые переменные.
Для таблицы одной строки:
Если вы обучили Mdl с помощью таблицы (например, Tbl), затем все переменные предикторы в queryPoint должен иметь те же имена переменных и типы данных как те в Tbl. Однако порядок следования столбцов queryPoint не должен соответствовать порядку следования столбцов Tbl.
Если вы обучили Mdl с помощью числовой матрицы затем предиктор называет в Mdl.PredictorNames и соответствующий переменный предиктор называет в queryPoint должно быть то же самое. Чтобы задать имена предиктора во время обучения, используйте 'PredictorNames' аргумент значения имени. Все переменные предикторы в queryPoint должны быть числовые векторы.
queryPoint может содержать дополнительные переменные (переменные отклика, веса наблюдения, и так далее), но plotLocalEffects игнорирует их.
plotLocalEffects не поддерживает многостолбцовые переменные или массивы ячеек кроме массивов ячеек из символьных векторов.
Типы данных: single | double | table
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
plotLocalEffects(Mdl,queryPoint,'IncludeInteractions',false,'NumTerms',5) задает, чтобы создать столбиковую диаграмму, содержащую пять самых важных линейных членов для предикторов в Mdl исключая периоды взаимодействия в Mdl.IncludeInteractions — Отметьте, чтобы включать периоды взаимодействияtrue | falseОтметьте, чтобы включать периоды взаимодействия модели в графике в виде true или false.
'IncludeInteractions' по умолчанию значением является true если Mdl содержит периоды взаимодействия. Значением должен быть false если модель не содержит периоды взаимодействия.
Пример: 'IncludeInteractions',false
Типы данных: логический
IncludeIntercept — Отметьте, чтобы включать термин точки пересеченияfalse (значение по умолчанию) | trueОтметьте, чтобы включать термин точки пересечения модели в графике в виде true или false.
Пример: 'IncludeIntercept',true
Типы данных: логический
NumTerms — Количество терминов, чтобы построитьmin(M,10) где M количество терминов в Mdl (значение по умолчанию) | положительный целочисленный скалярКоличество терминов, чтобы построить в виде положительного целочисленного скаляра. plotLocalEffects строит конкретное количество терминов с самыми высокими абсолютными локальными значениями эффекта.
Пример: 'NumTerms',5 задает, чтобы построить пять самых важных терминов. plotLocalEffects определяет порядок важности при помощи абсолютных локальных значений эффекта.
Типы данных: single | double
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.