Построить график локальных эффектов терминов в обобщенной аддитивной модели (GAM)
plotLocalEffects( создает гистограмму, показывающую локальные эффекты терминов в обобщенной аддитивной модели Mdl,queryPoint)Mdl о прогнозировании в указанной точке запроса queryPoint.
plotLocalEffects( указывает дополнительные параметры, использующие один или несколько аргументов «имя-значение». Например, 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 переменных с информацией о продажах недвижимости в Нью-Йорке в 2015 году. В этом примере эти переменные используются для анализа продажных цен (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
Типы данных: logical
'IncludeIntercept' - Флаг для включения термина перехватаfalse (по умолчанию) | trueФлаг для включения термина перехвата модели в график, указанный как true или false.
Пример: 'IncludeIntercept',true
Типы данных: logical
'NumTerms' - Количество терминов для построения графикаmin(M,10) где M - количество терминов в Mdl (по умолчанию) | целочисленный скалярЧисло элементов для построения графика, указанное как положительный скаляр целого числа. plotLocalEffects строит график указанного числа членов с наибольшими абсолютными локальными значениями эффекта.
Пример: 'NumTerms',5 указывает на печать пяти наиболее важных терминов. plotLocalEffects определяет порядок важности с помощью абсолютных значений локального эффекта.
Типы данных: single | double
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.