Постройте график локальных эффектов терминов в обобщенной аддитивной модели (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,:))

The predict функция классифицирует первые X(1,:) наблюдения как 'g'. The 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)
The predict функция предсказывает цену продажи для первого наблюдения следующим 4.4421e5. The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.