Шепли оценивает
Значение Шепли функции точки запроса объясняет отклонение предсказания для точки запроса из среднего предсказания, из-за функции. Для каждой точки запроса сумма значений Шепли для всех функций соответствует общему отклонению предсказания от среднего значения.
Можно создать shapley
объект для модели машинного обучения с заданной точкой запроса (queryPoint
). Программное обеспечение создает объект и вычисляет значения Шепли всех функций точки запроса.
Используйте значения Шепли, чтобы объяснить вклад отдельных функций к предсказанию в заданной точке запроса. Используйте plot
функция, чтобы создать столбчатый график значений Шепли. Можно вычислить значения Шепли для другой точки запроса при помощи fit
функция.
также вычисляет значения Шепли для точки запроса explainer
= shapley(___,'QueryPoint',queryPoint
)queryPoint
и хранит вычисленные значения Шепли в ShapleyValues
свойство explainer
. Можно задать queryPoint
в дополнение к любой из комбинаций входных аргументов в предыдущих синтаксисах.
задает дополнительные опции с помощью одних или нескольких аргументов name-value. Например, задайте explainer
= shapley(___,Name,Value
)'UseParallel',true
вычислить значения Шепли параллельно.
blackbox
— Модель машинного обучения, которая будет интерпретированаМодель машинного обучения, которая будет интерпретирована в виде полной или компактной регрессии или объекта модели классификации или указателя на функцию.
Объект полной или компактной модели — можно задать полную или компактную регрессию или объект модели классификации, который имеет a predict
объектная функция. Программное обеспечение использует predict
функция, чтобы вычислить значения Шепли.
Если вы задаете объект модели, который не содержит данные о предикторе (например, компактная модель), то необходимо обеспечить данные о предикторе с помощью X
.
Когда вы обучаете модель, используйте числовую матрицу или таблицу для данных о предикторе, где строки соответствуют отдельным наблюдениям.
Объект модели регрессии
Поддерживаемая модель | Полный или компактный объект модели регрессии |
---|---|
Ансамбль моделей регрессии | RegressionEnsemble , RegressionBaggedEnsemble , CompactRegressionEnsemble |
Гауссова модель регрессии ядра использование случайного расширения функции | RegressionKernel |
Гауссова регрессия процесса | RegressionGP , CompactRegressionGP |
Обобщенная аддитивная модель | RegressionGAM , CompactRegressionGAM |
Линейная регрессия для высоко-размерных данных | RegressionLinear |
Модель регрессии нейронной сети | RegressionNeuralNetwork , CompactRegressionNeuralNetwork |
Дерево регрессии | RegressionTree , CompactRegressionTree |
Регрессия машины опорных векторов | RegressionSVM , CompactRegressionSVM |
Объект модели классификации
Поддерживаемая модель | Полный или компактный объект модели классификации |
---|---|
Классификатор дискриминантного анализа | ClassificationDiscriminant , CompactClassificationDiscriminant |
Модель Multiclass для машин опорных векторов или других классификаторов | ClassificationECOC , CompactClassificationECOC |
Ансамбль учеников для классификации | ClassificationEnsemble , CompactClassificationEnsemble , ClassificationBaggedEnsemble |
Гауссова модель классификации ядер использование случайного расширения функции | ClassificationKernel |
Обобщенная аддитивная модель | ClassificationGAM , CompactClassificationGAM |
k- соседний классификатор | ClassificationKNN |
Линейная модель классификации | ClassificationLinear |
Мультикласс наивная модель Bayes | ClassificationNaiveBayes , CompactClassificationNaiveBayes |
Классификатор нейронной сети | ClassificationNeuralNetwork , CompactClassificationNeuralNetwork |
Классификатор машины опорных векторов для и бинарной классификации одного класса | ClassificationSVM , CompactClassificationSVM |
Дерево выбора из двух альтернатив для классификации мультиклассов | ClassificationTree , CompactClassificationTree |
Указатель на функцию — можно задать указатель на функцию, который принимает данные о предикторе и возвращает вектор-столбец, содержащий предсказание для каждого наблюдения в данных о предикторе. Предсказание является предсказанным ответом для регрессии или предсказанным счетом единого класса для классификации. Необходимо обеспечить данные о предикторе с помощью X
.
X
— Данные о предиктореДанные о предикторе в виде числовой матрицы или таблицы. Каждая строка X
соответствует одному наблюдению, и каждый столбец соответствует одной переменной.
Для числовой матрицы:
Переменные, который составляет столбцы X
должен иметь тот же порядок как переменные предикторы, которые обучили blackbox
, сохраненный в blackbox.X
.
Если вы обучили blackbox
использование таблицы, затем X
может быть числовая матрица, если таблица содержит все числовые переменные предикторы.
Для таблицы:
Если вы обучили blackbox
с помощью таблицы (например, Tbl
), затем все переменные предикторы в X
должен иметь те же имена переменных и типы данных как те в Tbl
. Однако порядок следования столбцов X
не должен соответствовать порядку следования столбцов Tbl
.
Если вы обучили blackbox
с помощью числовой матрицы затем предиктор называет в blackbox.PredictorNames
и соответствующий переменный предиктор называет в X
должно быть то же самое. Чтобы задать имена предиктора во время обучения, используйте 'PredictorNames'
аргумент значения имени. Все переменные предикторы в X
должны быть числовые векторы.
X
может содержать дополнительные переменные (переменные отклика, веса наблюдения, и так далее), но shapley
игнорирует их.
shapley
не поддерживает многостолбцовые переменные или массивы ячеек кроме массивов ячеек из символьных векторов.
Если blackbox
объект модели, который не содержит данные о предикторе или указатель на функцию, необходимо обеспечить X
. Если blackbox
полный объект модели машинного обучения, и вы задаете этот аргумент, затем shapley
не использует данные о предикторе в blackbox
; это использует заданные данные о предикторе только.
Типы данных: single
| double
queryPoint
— Точка запросаТочка запроса, в который shapley
объясняет предсказание в виде вектора-строки из числовых значений или таблицы одной строки.
Для вектора-строки из числовых значений:
Переменные, который составляет столбцы queryPoint
должен иметь тот же порядок как X
или переменные предикторы, которые обучили blackbox
, сохраненный в blackbox.X
.
Если вы обучили blackbox
использование таблицы, затем queryPoint
может быть числовой вектор, если таблица содержит все числовые переменные.
Для таблицы одной строки:
Если вы обучили blackbox
с помощью таблицы (например, Tbl
), затем все переменные предикторы в queryPoint
должен иметь те же имена переменных и типы данных как те в Tbl
. Однако порядок следования столбцов queryPoint
не должен соответствовать порядку следования столбцов Tbl
.
Если вы обучили blackbox
с помощью числовой матрицы затем предиктор называет в blackbox.PredictorNames
и соответствующий переменный предиктор называет в queryPoint
должно быть то же самое. Чтобы задать имена предиктора во время обучения, используйте 'PredictorNames'
аргумент значения имени. Все переменные предикторы в queryPoint
должны быть числовые векторы.
queryPoint
может содержать дополнительные переменные (переменные отклика, веса наблюдения, и так далее), но shapley
игнорирует их.
shapley
не поддерживает многостолбцовые переменные или массивы ячеек кроме массивов ячеек из символьных векторов.
Если queryPoint
содержит NaN
s для непрерывных предикторов и 'Method'
'conditional-kernel'
, затем значения Шепли (ShapleyValues
) в возвращенном объекте NaN
s. В противном случае, shapley
указатели NaN
s в queryPoint
таким же образом как blackbox
(predict
объектная функция blackbox
или указатель на функцию задан blackbox
).
Пример: blackbox.X(1,:)
задает точку запроса как первое наблюдение за данными о предикторе в полной модели blackbox
машинного обучения.
Типы данных: single
| double
| table
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
shapley(blackbox,'QueryPoint',q,'Method','conditional-kernel')
создает shapley
возразите и вычисляет значения Шепли для точки запроса q
использование расширения kernelSHAP алгоритма.CategoricalPredictors
— Категориальный список предикторов'all'
Категориальные предикторы перечисляют в виде одного из значений в этой таблице.
Значение | Описание |
---|---|
Вектор из положительных целых чисел | Каждая запись в векторе является значением индекса, указывающим, что соответствующий предиктор является категориальным. Значения индекса между 1 и Если |
Логический вектор |
|
Символьная матрица | Каждая строка матрицы является именем переменного предиктора. Имена должны совпадать с именами переменных данных о предикторе в форме таблицы. Заполните имена дополнительными пробелами, таким образом, каждая строка символьной матрицы имеет ту же длину. |
Массив строк или массив ячеек из символьных векторов | Каждым элементом в массиве является имя переменного предиктора. Имена должны совпадать с именами переменных данных о предикторе в форме таблицы. |
'all' | Все предикторы являются категориальными. |
Если вы задаете blackbox
как указатель на функцию, затем shapley
идентифицирует категориальные предикторы из данных о предикторе X
. Если данные о предикторе находятся в таблице, shapley
принимает, что переменная является категориальной, если это - логический вектор, неупорядоченный категориальный вектор, символьный массив, массив строк или массив ячеек из символьных векторов. Если данные о предикторе являются матрицей, shapley
принимает, что все предикторы непрерывны. Чтобы идентифицировать любые другие предикторы как категориальные предикторы, задайте их при помощи 'CategoricalPredictors'
аргумент значения имени.
Если вы задаете blackbox
как регрессия или объект модели классификации, затем shapley
идентифицирует категориальные предикторы при помощи CategoricalPredictors
свойство объекта модели.
shapley
поддерживает упорядоченный категориальный предиктор когда blackbox
поддержки заказали категориальные предикторы и 'Method'
'interventional-kernel'
.
Пример: 'CategoricalPredictors','all'
Типы данных: single
| double
| logical
| char
| string
| cell
MaxNumSubsets
— Максимальное количество подмножеств предиктораmin(2^M,1024)
где M
количество предикторов (значение по умолчанию) | положительное целое числоМаксимальное количество подмножеств предиктора, чтобы использовать для расчета значения Шепли в виде положительного целого числа.
Для получения дополнительной информации, на как shapley
выбирает подмножества, чтобы использовать, видеть Сложность Вычисления Значений Шепли.
Пример: 'MaxNumSubsets',100
Типы данных: single
| double
Method
— Алгоритм расчета значения Шепли'interventional-kernel'
(значение по умолчанию) | 'conditional-kernel'
Алгоритм расчета значения Шепли в виде 'interventional-kernel'
или 'conditional-kernel'
.
Для получения дополнительной информации об этих алгоритмах, см. Алгоритмы Расчета Значения Шепли.
Пример: 'Method','conditional-kernel'
Типы данных: char |
string
UseParallel
— Отметьте, чтобы запуститься параллельноfalse
(значение по умолчанию) | true
Отметьте, чтобы запуститься параллельно в виде true
или false
. Если вы задаете 'UseParallel',true
, shapley
функция выполняет обработки в цикле параллельно при помощи parfor
. Эта опция требует Parallel Computing Toolbox™.
Пример: 'UseParallel',true
Типы данных: логический
BlackboxModel
— Модель машинного обучения, которая будет интерпретированаЭто свойство доступно только для чтения.
Модель машинного обучения, которая будет интерпретирована в виде регрессии или объекта модели классификации или указателя на функцию.
blackbox
аргумент устанавливает это свойство.
BlackboxFitted
— Предсказание для точки запроса вычисляется моделью машинного обученияЭто свойство доступно только для чтения.
Предсказание для точки запроса, вычисленной моделью машинного обучения (BlackboxModel
) в виде скаляра.
Если BlackboxModel
объект модели, затем BlackboxFitted
предсказанный ответ для регрессии или классифицированная метка для классификации.
Если BlackboxModel
указатель на функцию, затем BlackboxFitted
значение, возвращенное указателем на функцию, или предсказанный ответ для регрессии или предсказанный счет единого класса для классификации.
Типы данных: single
| double
| categorical
| logical
| char
| string
| cell
CategoricalPredictors
— Категориальные индексы предиктора[]
Это свойство доступно только для чтения.
Категориальные индексы предиктора в виде вектора из положительных целых чисел. CategoricalPredictors
содержит значения индекса, указывающие, что соответствующие предикторы являются категориальными. Значения индекса между 1 и p
, где p
количество предикторов, используемых, чтобы обучить модель. Если ни один из предикторов не является категориальным, то это свойство пусто ([]
).
Если вы задаете blackbox
использование указателя на функцию, затем shapley
идентифицирует категориальные предикторы из данных о предикторе X
. Если вы задаете 'CategoricalPredictors'
аргумент значения имени, затем аргумент устанавливает это свойство.
Если вы задаете blackbox
как регрессия или объект модели классификации, затем shapley
определяет это свойство при помощи CategoricalPredictors
свойство объекта модели.
shapley
поддерживает упорядоченный категориальный предиктор когда blackbox
поддержки заказали категориальные предикторы и 'Method'
'interventional-kernel'
.
Типы данных: single
| double
Intercept
— Среднее предсказаниеСреднее предсказание, усредненное по данным о предикторе X
В виде числового векторного или числового скаляра.
Если BlackboxModel
объект модели классификации, затем Intercept
вектор из средних классификационных оценок для каждого класса.
Если BlackboxModel
объект модели регрессии, затем Intercept
скаляр среднего ответа.
Если BlackboxModel
указатель на функцию, затем Intercept
скаляр среднего вычисления функции.
Для точки запроса сумма значений Шепли для всех функций соответствует общему отклонению предсказания от среднего значения (Intercept
).
Типы данных: single
| double
Method
— Алгоритм расчета значения Шепли'interventional-kernel'
| 'conditional-kernel'
Это свойство доступно только для чтения.
Алгоритм расчета значения Шепли в виде 'interventional-kernel'
или 'conditional-kernel'
.
'Method'
аргумент shapley
или 'Method'
аргумент fit
наборы это свойство.
Для получения дополнительной информации об этих алгоритмах, см. Алгоритмы Расчета Значения Шепли.
Типы данных: char |
string
NumSubsets
— Количество подмножеств предиктораЭто свойство доступно только для чтения.
Количество подмножеств предиктора, чтобы использовать для расчета значения Шепли в виде положительного целого числа.
'MaxNumSubsets'
аргумент shapley
или 'MaxNumSubsets'
аргумент fit
наборы это свойство.
Для получения дополнительной информации, на как shapley
выбирает подмножества, чтобы использовать, видеть Сложность Вычисления Значений Шепли.
Типы данных: single
| double
QueryPoint
— Точка запросаЭто свойство доступно только для чтения.
Точка запроса, в который shapley
объясняет предсказание с помощью значений Шепли (ShapleyValues
) в виде вектора-строки из числовых значений или таблицы одной строки.
queryPoint
аргумент shapley
или queryPoint
аргумент fit
наборы это свойство.
Типы данных: single
| double
| table
ShapleyValues
— Шепли оценивает за точку запросаЭто свойство доступно только для чтения.
Шепли оценивает за точку запроса (QueryPoint
) в виде таблицы.
Для регрессии таблица имеет два столбца. Первый столбец содержит имена переменного предиктора, и второй столбец содержит значения Шепли предикторов.
Для классификации таблица имеет два или больше столбца, в зависимости от количества классов в BlackboxModel
. Первый столбец содержит имена переменного предиктора, и остальная часть столбцов содержит значения Шепли предикторов для каждого класса.
Типы данных: table
X
— Данные о предиктореЭто свойство доступно только для чтения.
Данные о предикторе в виде числовой матрицы или таблицы.
Каждая строка X
соответствует одному наблюдению, и каждый столбец соответствует одной переменной.
Если наблюдение содержит NaN
s для непрерывных предикторов и Method
'conditional-kernel'
, затем shapley
не использует наблюдение для расчета значения Шепли. В противном случае, shapley
указатели NaN
s в X
таким же образом как BlackboxModel
(predict
объектная функция BlackboxModel
или указатель на функцию задан BlackboxModel
).
shapley
хранилища все наблюдения, включая строки с отсутствующими значениями, в этом свойстве.
Типы данных: single
| double
| table
shapley
ОбъектОбучите модель классификации и создайте shapley
объект. Когда вы создаете shapley
возразите, задайте точку запроса так, чтобы программное обеспечение вычислило значения Шепли для точки запроса. Затем создайте столбчатый график значений Шепли при помощи объектного функционального plot
.
Загрузите CreditRating_Historical
набор данных. Набор данных содержит идентификаторы клиентов и их финансовые отношения, промышленные метки и кредитные рейтинги.
tbl = readtable('CreditRating_Historical.dat');
Отобразите первые три строки таблицы.
head(tbl,3)
ans=3×8 table
ID WC_TA RE_TA EBIT_TA MVE_BVTD S_TA Industry Rating
_____ _____ _____ _______ ________ _____ ________ ______
62394 0.013 0.104 0.036 0.447 0.142 3 {'BB'}
48608 0.232 0.335 0.062 1.969 0.281 8 {'A' }
42444 0.311 0.367 0.074 1.935 0.366 1 {'A' }
Обучите модель черного ящика кредитных рейтингов при помощи fitcecoc
функция. Используйте переменные от второго до седьмых столбцов в tbl
как переменные предикторы. Методические рекомендации должны задать имена классов, чтобы установить порядок классы.
blackbox = fitcecoc(tbl,'Rating', ... 'PredictorNames',tbl.Properties.VariableNames(2:7), ... 'CategoricalPredictors','Industry', ... 'ClassNames',{'AAA' 'AA' 'A' 'BBB' 'BB' 'B' 'CCC'});
Создайте shapley
объект, который объясняет предсказание для последнего наблюдения. Задайте точку запроса так, чтобы программное обеспечение вычислило значения Шепли и сохранило их в ShapleyValues
свойство.
queryPoint = tbl(end,:)
queryPoint=1×8 table
ID WC_TA RE_TA EBIT_TA MVE_BVTD S_TA Industry Rating
_____ _____ _____ _______ ________ ____ ________ ______
73104 0.239 0.463 0.065 2.924 0.34 2 {'AA'}
explainer = shapley(blackbox,'QueryPoint',queryPoint)
Warning: Computation can be slow because the predictor data has over 1000 observations. Use a smaller sample of the training set or specify 'UseParallel' as true for faster computation.
explainer = shapley with properties: BlackboxModel: [1x1 ClassificationECOC] QueryPoint: [1x8 table] BlackboxFitted: {'AA'} ShapleyValues: [6x8 table] NumSubsets: 64 X: [3932x6 table] CategoricalPredictors: 6 Method: 'interventional-kernel' Intercept: [-0.5041 -0.3907 -0.3137 -0.3042 -0.4217 ... ]
Как предупреждающее сообщение указывает, расчет может быть медленным, потому что данные о предикторе имеют более чем 1 000 наблюдений. Для более быстрого расчета используйте меньшую выборку набора обучающих данных или задайте 'UseParallel'
как true
.
Для модели классификации, shapley
вычисляет значения Шепли с помощью предсказанного счета класса к каждому классу. Отобразите значения в ShapleyValues
свойство.
explainer.ShapleyValues
ans=6×8 table
Predictor AAA AA A BBB BB B CCC
__________ __________ __________ ___________ ___________ ___________ ___________ ___________
"WC_TA" 0.014715 0.006439 0.002669 0.00048882 -0.0079015 -0.011841 -0.011395
"RE_TA" 0.047918 0.026904 0.014759 -0.0031481 -0.02512 -0.059927 -0.08418
"EBIT_TA" 0.0003427 0.00015023 0.00011977 3.3904e-05 -0.00018925 -0.00038136 -0.00033783
"MVE_BVTD" 0.38334 0.37376 0.17563 -0.032136 -0.18729 -0.24831 -0.19585
"S_TA" -0.0037303 -0.0026019 -8.9059e-05 -0.00081782 -5.4905e-05 0.0004788 -0.00069003
"Industry" -0.028974 -0.013901 0.0010365 0.023298 0.026474 0.029887 0.045396
ShapleyValues
свойство содержит значения Шепли всех функций каждого класса.
Постройте значения Шепли для предсказанного класса при помощи plot
функция.
plot(explainer)
Горизонтальный столбчатый график показывает значения Шепли для всех переменных, отсортированных по их абсолютным значениям. Каждое значение Шепли объясняет отклонение счета к точке запроса от средней оценки предсказанного класса, из-за соответствующей переменной.
shapley
Возразите и вычислите значения Шепли Используя fit
Обучите модель регрессии и создайте shapley
объект. Когда вы создаете shapley
объект, если вы не задаете точку запроса, затем программное обеспечение, не вычисляет значения Шепли. Используйте объектный функциональный fit
вычислить значения Шепли для заданной точки запроса. Затем создайте столбчатый график значений Шепли при помощи объектного функционального plot
.
Загрузите carbig
набор данных, который содержит измерения автомобилей, сделанных в 1970-х и в начале 1980-х.
load carbig
Составьте таблицу, содержащую переменные предикторы Acceleration
, Cylinders
, и так далее, а также переменная отклика MPG
.
tbl = table(Acceleration,Cylinders,Displacement,Horsepower,Model_Year,Weight,MPG);
Удаление отсутствующих значений в наборе обучающих данных может помочь уменьшать потребление памяти и ускорить обучение fitrkernel
функция. Удалите отсутствующие значения в tbl
.
tbl = rmmissing(tbl);
Обучите модель черного ящика MPG
при помощи fitrkernel
функция
rng('default') % For reproducibility mdl = fitrkernel(tbl,'MPG','CategoricalPredictors',[2 5]);
Создайте shapley
объект. Задайте набор данных tbl
, потому что mdl
не содержит обучающие данные.
explainer = shapley(mdl,tbl)
explainer = shapley with properties: BlackboxModel: [1x1 RegressionKernel] QueryPoint: [] BlackboxFitted: [] ShapleyValues: [] NumSubsets: 64 X: [392x7 table] CategoricalPredictors: [2 5] Method: 'interventional-kernel' Intercept: 22.6202
explainer
хранит обучающие данные tbl
в X
свойство.
Вычислите значения Шепли всех переменных предикторов для первого наблюдения в tbl
.
queryPoint = tbl(1,:)
queryPoint=1×7 table
Acceleration Cylinders Displacement Horsepower Model_Year Weight MPG
____________ _________ ____________ __________ __________ ______ ___
12 8 307 130 70 3504 18
explainer = fit(explainer,queryPoint);
Для модели регрессии, shapley
вычисляет значения Шепли с помощью предсказанного ответа и хранит их в ShapleyValues
свойство. Отобразите значения в ShapleyValues
свойство.
explainer.ShapleyValues
ans=6×2 table
Predictor ShapleyValue
______________ ____________
"Acceleration" -0.1561
"Cylinders" -0.18306
"Displacement" -0.34203
"Horsepower" -0.27291
"Model_Year" -0.2926
"Weight" -0.32402
Постройте значения Шепли для точки запроса при помощи plot
функция.
plot(explainer)
Горизонтальный столбчатый график показывает значения Шепли для всех переменных, отсортированных по их абсолютным значениям. Каждое значение Шепли объясняет отклонение предсказания для точки запроса от среднего значения, из-за соответствующей переменной.
Обучите модель регрессии и создайте shapley
объект с помощью указателя на функцию для predict
функция модели. Используйте объектный функциональный fit
вычислить значения Шепли для заданной точки запроса. Затем постройте значения Шепли при помощи объектного функционального plot
.
Загрузите carbig
набор данных, который содержит измерения автомобилей, сделанных в 1970-х и в начале 1980-х.
load carbig
Составьте таблицу, содержащую переменные предикторы Acceleration
, Cylinders
, и так далее.
tbl = table(Acceleration,Cylinders,Displacement,Horsepower,Model_Year,Weight);
Обучите модель черного ящика MPG
при помощи TreeBagger
функция.
rng('default') % For reproducibility Mdl = TreeBagger(100,tbl,MPG,'Method','regression','CategoricalPredictors',[2 5]);
shapley
не поддерживает TreeBagger
возразите непосредственно, таким образом, вы не можете задать первый входной параметр (модель черного ящика) shapley
как TreeBagger
объект. Вместо этого можно использовать указатель на функцию для predict
функция. Можно также задать опции predict
функция с помощью аргументов name-value функции.
Создайте указатель на функцию к predict
функция TreeBagger
объект Mdl
. Задайте массив древовидных индексов, чтобы использовать в качестве 1:50
.
f = @(tbl) predict(Mdl,tbl,'Trees',1:50);
Создайте shapley
объект с помощью указателя на функцию f
. Когда вы задаете модель черного ящика как указатель на функцию, необходимо обеспечить данные о предикторе. tbl
включает категориальные предикторы (Cylinder
и Model_Year
) с double
тип данных. По умолчанию, shapley
не обрабатывает переменные с double
тип данных как категориальные предикторы. Задайте второе (Cylinder
) и пятый (Model_Year
) переменные как категориальные предикторы.
explainer = shapley(f,tbl,'CategoricalPredictors',[2 5]);
explainer = fit(explainer,tbl(1,:));
Постройте значения Шепли.
plot(explainer)
В теории игр значение Шепли проигрывателя является средним крайним вкладом проигрывателя в совместной игре. В контексте предсказания машинного обучения значение Шепли функции точки запроса объясняет вклад функции к предсказанию (ответ для регрессии или счета каждого класса для классификации) в заданной точке запроса.
Значение Шепли функции точки запроса является вкладом функции к отклонению от среднего предсказания. Для точки запроса сумма значений Шепли для всех функций соответствует общему отклонению предсказания от среднего значения. Таким образом, сумма среднего предсказания и значений Шепли для всех функций соответствует предсказанию для точки запроса.
Для получения дополнительной информации смотрите Значения Шепли для Модели Машинного обучения.
[1] Лундберг, Скотт М. и С. Ли. "Объединенный подход к интерпретации предсказаний модели". Усовершенствования в нейронных системах обработки информации 30 (2017): 4765–774.
[2] Научный работник, Керсти, Мартин. Джаллум и Андерс Лылэнд. "Объясняя Отдельные Предсказания, Когда Функции Зависят: Более точные Приближения к Значениям Шепли". arXiv:1903.10464 (2019).
Чтобы запуститься параллельно, установите UseParallel
аргумент значения имени к true
в вызове этой функции.
Для более общей информации о параллельных вычислениях смотрите функции MATLAB Запуска с Автоматической Параллельной Поддержкой (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.