Введение
Рак шейки матки – это заболевание, при котором в тканях шейки матки (входа в матку из влагалища) образуются злокачественные клетки. Наряду с раком молочной железы и щитовидной железы рак шейки матки является одним из наиболее распространенных видов рака среди женщин. По данным Lancet (2019):
- Ежегодно более чем у полумиллиона женщин диагностируется рак шейки матки, что приводит к более чем 300 000 смертей во всем мире.
- Приблизительно 90% случаев рака шейки матки возникают в странах с низким и средним уровнем доходов, в которых отсутствуют организованные программы скрининга и вакцинации против ВПЧ.
Хорошей новостью является то, что большинство случаев рака шейки матки вызвано инфекцией вирусом папилломы человека (ВПЧ), который можно предотвратить с помощью вакцины, а рак шейки матки имеет медленный темп роста, что дает женщинам больше времени для его обнаружения и лечения (93%). коэффициент выживаемости до того, как он станет инвазивным и смертельным (Американское онкологическое общество, без даты). Кроме того, хорошо известны факторы риска, связанные с раком шейки матки: курение, неправильное питание, иммунодефицит, прием иммунодепрессантов, длительный прием противозачаточных средств, возраст, раса, дефицит витаминов А, С и фолиевой кислоты, наличие нескольких половых партнеров, чередование беременности, родов в молодом возрасте, некоторых половых инфекций, передающихся половым путем, плохого социально-экономического положения и низкого уровня образования (Asadi et al., 2020). Рак шейки матки, если его диагностировать на ранней стадии, является одной из наиболее предотвратимых и поддающихся лечению форм рака, некоторые даже говорят, что это лучшая форма рака. Использование метода машинного обучения (МО) для прогнозирования рака шейки матки с использованием факторов риска является неинвазивным и эффективным способом помочь в его ранней диагностике.
Хотя продвинутые модели машинного обучения обеспечивают высокую точность, за их точность приходится жертвовать объяснимостью (почему) и интерпретируемостью (как). Эти модели построены таким образом, что их трудно интерпретировать и объяснить, отсюда и название модели черного ящика. Поэтому, даже когда производительность машинного обучения снова и снова доказывается превосходящей производительность людей, людям трудно доверять тому, чего они не понимают. Особенно, когда дело доходит до области клинической диагностики, где ставки намного выше и на карту поставлены человеческие жизни, существует чрезвычайно острая потребность в понимании и объяснении лежащего в основе процесса принятия решений этих «черных ящиков» моделей машинного обучения. Недостаточно обосновать модель тем, насколько точны ее прогнозы, нам также необходимо знать рассуждения и данные, которые модель использует, чтобы прийти к такому выводу. Машины тоже должны нести ответственность.
Интерпретируемость осуществляется на двух уровнях: глобальном уровне и локальном уровне.
- Глобальные интерпретации: фокусируется на общих решениях модели прогнозирования.
- Локальные интерпретации: основное внимание уделяется одному конкретному индивидуальному прогнозу.
Чтобы повысить прозрачность и подотчетность, мы рассмотрим несколько методов объяснимости модели на обоих уровнях, используя:
- Важность переменной:глобальный метод ранжирования важности всех функций. Это не дает представления о том, как функция влияет на прогнозы модели ML. Он только измеряет, насколько эффективна функция по сравнению с другими функциями.
- Графики частичной зависимости (PDP):глобальный метод, который интерпретирует то, что происходит с прогнозами модели, поскольку различные функции корректируются с учетом скорости отклика.
- Значения Шепли (значения SHAP): глобальный метод, который интерпретирует, как вклад функции влияет на результат модели от базового значения до окончательного прогноза (отрицательного или положительного).
- Локальные интерпретируемые объяснения, не зависящие от модели (LIME): локальный метод, который не пытается объяснить всю модель, а только аппроксимирует отдельные прогнозы.
Постановка задачи
В этом проекте мы будем определять характеристики женщин, у которых более высока вероятность развития рака шейки матки, и использовать Automatic Machine Learning H2O AutoML, чтобы прогнозировать, купит ли конкретный клиент срочный депозит. Мы также будем использовать методы объяснимого ИИ (XAI), такие как График переменной важности, График частичной зависимости, Сводной график SHAP и LIME. чтобы объяснить, как каждая из введенных нами характеристик влияет на предсказание модели.
Источник данных
Этот набор данных о раке шейки матки (факторы риска) взят из репозитория машинного обучения UCI. Данные были собраны в Университетской больнице Каракаса в Каракасе, Венесуэла. Он включает демографическую информацию, привычки и исторические медицинские записи 858 пациентов.
- Возраст: в годах
- Количество сексуальных партнеров
- Первый половой акт (возраст в годах)
- Количество беременностей
- Курит: да или нет
- Курит (в годах):количество лет курения.
- Выкуривает (пачек/год): количество пачек сигарет в год.
- Гормональные контрацептивы: да или нет
- Гормональные контрацептивы (в годах): количество лет использования противозачаточных средств.
- ВМСда или нет
- ВМС (лет):количество лет использования устройства ВМС.
- ЗППП:было ли у пациента когда-либо заболевание, передающееся половым путем (ЗППП) да или нет
- ЗППП (количество):количество диагнозов ЗППП.
- ЗППП:кондиломатоз
- ЗППП: кондиломатоз шейки матки
- ЗППП: вагинальный кондиломатоз
- ЗППП: вульво-промежностный кондиломатоз
- ЗППП: сифилис
- ЗППП: воспалительные заболевания органов малого таза
- ЗППП: генитальный герпес
- ЗППП: контагиозный моллюск
- ЗППП:СПИД
- ЗППП: ВИЧ
- ЗППП: гепатит B:
- ЗППП: ВПЧ: вирус папилломы человека
- Время с момента первого диагноза ЗППП
- Время, прошедшее с момента последнего диагноза ЗППП
- Dx:Cancer:диагностика рака
- Dx:CIN: диагностика цервикальной интраэпителиальной неоплазии
- Dx:HPV: диагностика вируса папилломы человека
- Dx: диагностика
- Hinselmann: скрининговый тест на рак шейки матки — диагностика
- Шиллер: скрининговый тест на рак шейки матки — диагностика
- Цитология: скрининговый тест на рак шейки матки — диагностика
- Биопсия:результаты «Здоров» или «Рак» — диагноз
Методология
Наши особенности X
:
['Age', 'Number of sexual partners', 'First sexual intercourse', 'Num of pregnancies', 'Smokes', 'Smokes (years)', 'Smokes (packs/year)', 'Hormonal Contraceptives', 'Hormonal Contraceptives (years)', 'IUD', 'IUD (years)', 'STDs', 'STDs (number)', 'STDs:condylomatosis', 'STDs:cervical condylomatosis', 'STDs:vaginal condylomatosis', 'STDs:vulvo-perineal condylomatosis', 'STDs:syphilis', 'STDs:pelvic inflammatory disease', 'STDs:genital herpes', 'STDs:molluscum contagiosum', 'STDs:AIDS', 'STDs:HIV', 'STDs:Hepatitis B', 'STDs:HPV', 'STDs: Number of diagnosis', 'Dx:Cancer', 'Dx:CIN', 'Dx:HPV', 'Dx']
Наша цель y
:
'Biopsy'
Мы будем использовать H2O AutoML для обучения 20 различных моделей и выберем лучшую модель. С моделью лидера мы будем использовать DPD и график ICE, чтобы определить важность функций и сделать прогнозы на тестовом наборе. Наконец, мы будем использовать LIME, чтобы найти вклад этих функций в каждом конкретном случае.
Метрики
H2O AutoML генерирует множество показателей производительности в 4 следующих таблицах:
Model Metrics
Confusion Matrix
Maximum Metrics
Gains/Lift Table
Исследовательский анализ данных
<class 'pandas.core.frame.DataFrame'> RangeIndex: 858 entries, 0 to 857 Data columns (total 36 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Age 858 non-null int64 1 Number of sexual partners 858 non-null object 2 First sexual intercourse 858 non-null object 3 Num of pregnancies 858 non-null object 4 Smokes 858 non-null object 5 Smokes (years) 858 non-null object 6 Smokes (packs/year) 858 non-null object 7 Hormonal Contraceptives 858 non-null object 8 Hormonal Contraceptives (years) 858 non-null object 9 IUD 858 non-null object 10 IUD (years) 858 non-null object 11 STDs 858 non-null object 12 STDs (number) 858 non-null object 13 STDs:condylomatosis 858 non-null object 14 STDs:cervical condylomatosis 858 non-null object 15 STDs:vaginal condylomatosis 858 non-null object 16 STDs:vulvo-perineal condylomatosis 858 non-null object 17 STDs:syphilis 858 non-null object 18 STDs:pelvic inflammatory disease 858 non-null object 19 STDs:genital herpes 858 non-null object 20 STDs:molluscum contagiosum 858 non-null object 21 STDs:AIDS 858 non-null object 22 STDs:HIV 858 non-null object 23 STDs:Hepatitis B 858 non-null object 24 STDs:HPV 858 non-null object 25 STDs: Number of diagnosis 858 non-null int64 26 STDs: Time since first diagnosis 858 non-null object 27 STDs: Time since last diagnosis 858 non-null object 28 Dx:Cancer 858 non-null int64 29 Dx:CIN 858 non-null int64 30 Dx:HPV 858 non-null int64 31 Dx 858 non-null int64 32 Hinselmann 858 non-null int64 33 Schiller 858 non-null int64 34 Citology 858 non-null int64 35 Biopsy 858 non-null int64 dtypes: int64(10), object(26)
Этот набор данных страдает от большого количества пропущенных значений.
- Мы заменим все
?
наNaN
. - Удалите ненужные столбцы, такие как
STDs: Time since first diagnosis
иSTDs: Time since last diagnosis
. - Есть четыре целевых переменных:
Hinselmann
,Schiller
,Citology
иBiopsy
, которые являются основными методами диагностики рака шейки матки. Хотя другие тесты могут свидетельствовать о наличии рака, только биопсия может поставить точный диагноз. Биопсия – это взятие небольшого количества ткани для исследования под микроскопом. Поэтому мы откажемся от всех других методов диагностики и оставим толькоBiopsy
в качестве цели. - Преобразуйте все столбцы в тип
numeric
, чтобы мы могли заполнить все пропущенные значения значениямиmean
.
Вот наш окончательный набор данных: очищен и готов к обучению
RangeIndex: 858 entries, 0 to 857 Data columns (total 34 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Age 858 non-null int64 1 Number of sexual partners 832 non-null float64 2 First sexual intercourse 851 non-null float64 3 Num of pregnancies 802 non-null float64 4 Smokes 845 non-null float64 5 Smokes (years) 845 non-null float64 6 Smokes (packs/year) 845 non-null float64 7 Hormonal Contraceptives 750 non-null float64 8 Hormonal Contraceptives (years) 750 non-null float64 9 IUD 741 non-null float64 10 IUD (years) 741 non-null float64 11 STDs 753 non-null float64 12 STDs (number) 753 non-null float64 13 STDs:condylomatosis 753 non-null float64 14 STDs:cervical condylomatosis 753 non-null float64 15 STDs:vaginal condylomatosis 753 non-null float64 16 STDs:vulvo-perineal condylomatosis 753 non-null float64 17 STDs:syphilis 753 non-null float64 18 STDs:pelvic inflammatory disease 753 non-null float64 19 STDs:genital herpes 753 non-null float64 20 STDs:molluscum contagiosum 753 non-null float64 21 STDs:AIDS 753 non-null float64 22 STDs:HIV 753 non-null float64 23 STDs:Hepatitis B 753 non-null float64 24 STDs:HPV 753 non-null float64 25 STDs: Number of diagnosis 858 non-null int64 26 Dx:Cancer 858 non-null int64 27 Dx:CIN 858 non-null int64 28 Dx:HPV 858 non-null int64 29 Dx 858 non-null int64 30 Biopsy 858 non-null int64 dtypes: float64(24), int64(10)
Визуализация данных
- Все признаки слабо коррелируют друг с другом, кроме
STDs
и его разновидностей. - Все признаки в основном положительно коррелируют с
Biopsy
, что логично, поскольку все они являются факторами риска: чем выше их значения, тем выше вероятность развития у женщины рака шейки матки.
Давайте визуализируем некоторые функции и сравним их с фактической статистикой исследований. Обратите внимание, что между графиками и фактической статистикой много совпадений, потому что:
- Данные поступили из одного учреждения и небольшого числа пациентов.
- Огромный дисбаланс классов
- Особенности — это всего лишь факторы риска. У женщин без какого-либо из этих факторов риска рак шейки матки развивается редко. Однако, хотя эти факторы риска могут увеличить вероятность развития рака шейки матки, у многих женщин с такими рисками это заболевание не развивается.
- Очень сложно предсказать рак, так как одновременно взаимодействует множество игроков. Например: Риск рака шейки матки увеличивается в 2–3 раза, если инфицированная ВПЧ пациентка курит (Luhn et al. 2013, цит. по Ijaz et al., 2020) или у инфицированных ВПЧ пациенток без рак шейки матки, чем у женщин с более чем одной беременностью (Cancer.gov, 2020)
- По статистике рак шейки матки чаще всего диагностируется у женщин в возрасте от 35 до 44 лет, средний возраст постановки диагноза — 50 лет. Он редко развивается у женщин моложе 20 лет. Более 20% случаев рака шейки матки выявляют у женщин старше 65 лет. (Американское онкологическое общество, без названия).
- График, который мы получили, не отражал статистику исследований из-за того, что в нашей выборке в основном было
20–30
лет. - Наш график показал, что рак шейки матки может быть диагностирован уже в
16
и чаще всего возникает вearly 20s
.
Потому что статистически Age
является одним из наиболее важных факторов риска развития рака в целом и многих отдельных типов рака. Мы рассмотрим каждую функцию по сравнению с Age
.
- Логично предположить, что чем больше у вас сексуальных партнеров, тем выше риск развития рака шейки матки из-за ЗППП, особенно ВПЧ, который передается от одного человека к другому при половом контакте, даже с использованием презерватива.
- Даже имея всего
1
сексуальных партнеров, вы все равно сталкиваетесь с вероятностью развития рака.
First sexual intercourse
произошло еще в10
, а рак был обнаружен еще в11
.- Ранний половой акт (моложе
20
) повышает вероятность развития рака шейки матки.
- Согласно исследованиям, женщины, у которых было три и более беременностей, более склонны к развитию рака шейки матки (American Cancer Society, n.d.).
- Женщины, забеременевшие в возрасте 17 лет, в два раза чаще заболевают раком шейки матки позже, чем женщины, не забеременевшие до 25 лет и старше (Американское онкологическое общество, n.d.).
- Курение может вызвать мутации раковых клеток по всему телу, не только в легких, но и в шейке матки. Курящие женщины в два раза чаще заболевают раком шейки матки, чем некурящие (Американское онкологическое общество, n.d.)
- Хотя исследователи точно не знают, почему длительный прием (более 5 лет) противозачаточных таблеток увеличивает риск развития у женщины рака шейки матки, но корреляция, по-видимому, существует (Американское онкологическое общество, n.d.).
- Даже при кратковременном применении гормональных контрацептивов (менее 5 лет) рак шейки матки развивается уже в течение первого года их применения.
- Некоторые исследования показывают, что женщины, использовавшие внутриматочную спираль (ВМС), имеют более низкий риск развития рака шейки матки по сравнению с женщинами, не использовавшими ВМС в анамнезе (Lassise et al., 1991).
- Основной причиной рака шейки матки является персистирующая инфекция онкогенным вирусом папилломы человека (ВПЧ). ВПЧ настолько распространен, что почти каждый сексуально активный человек заразится ВПЧ в какой-то момент своей жизни, если он не получит вакцину против ВПЧ. Почти все новые случаи рака шейки матки вызваны штаммом ВПЧ (CDC, 2021).
- Женщины с заболеваниями, передающимися половым путем (ЗППП), в три раза чаще болеют раком шейки матки, чем другие.
Обучайте модели с H2O AutoML
init
запускает кластер H2O, который представляет собой блок памяти, в котором живут все наши модели и данные и происходят все вычисления.
Разделите тестовое обучение и определите переменные X y
split_frame
чтобы получитьtrain
иtest
ratios=[.75]
чтобы разделить наши данные на 75% для обучения и 25% для проверки.X
будут всеми нашими столбцами, кроме переменной ответаBiopsy
.y
— это наша переменная ответаBiopsy
.h2o.H2OFrame
— это кадр данных для H2O, точно так же, как pandas — это кадр данных для Python. Чтобы работать с H2O AutoML, мы должны преобразовать наши пандыdf
вh2o_df
, потому что H2O работает под управлением Java, а не Python.
Наши особенности X
:
['Age', 'Number of sexual partners', 'First sexual intercourse', 'Num of pregnancies', 'Smokes', 'Smokes (years)', 'Smokes (packs/year)', 'Hormonal Contraceptives', 'Hormonal Contraceptives (years)', 'IUD', 'IUD (years)', 'STDs', 'STDs (number)', 'STDs:condylomatosis', 'STDs:cervical condylomatosis', 'STDs:vaginal condylomatosis', 'STDs:vulvo-perineal condylomatosis', 'STDs:syphilis', 'STDs:pelvic inflammatory disease', 'STDs:genital herpes', 'STDs:molluscum contagiosum', 'STDs:AIDS', 'STDs:HIV', 'STDs:Hepatitis B', 'STDs:HPV', 'STDs: Number of diagnosis', 'Dx:Cancer', 'Dx:CIN', 'Dx:HPV', 'Dx']
Наша цель y
:
'Biopsy'
Для бинарной классификации требуется дополнительный шаг для преобразования y
в коэффициент.
Инициализировать и обучить
aml
— это наши автоматические модели машинного обучения.H2OAutoML
: Когда мы запускаемH2OAutoML
, он будет обучать различные модели, перечисленные в разделе «Методология».balance_classes=True
для избыточной выборки классов меньшинств или недостаточной выборки классов большинства для достижения баланса классов.stopping_metric='AUC'
для оценки классификации, используемой для ранней остановки, чтобы мы не подгоняли наши модели.seed=121
для обеспечения воспроизводимости.train
путем подгонкиX
иy
при передаче нашего набораtrain
сtraining_frame=train
.max_models=20
, чтобы ограничить только 20 моделями.exclude_algos=['StackedEnsemble']
, чтобы исключить многоуровневые модели и сделать их простыми для нашей задачи объяснимости.
Наша лучшая модель - модель GBM (Gradient Boosting Machine)
.
После завершения обучения H2OAutoML
сгенерирует:
Model Metrics
Confusion Matrix
Maximum Metrics
Gains/Lift Table
Cross-Validation Metrics
Scoring History
Variable Importance
Я знаю, много информации!
Метрики модели
MSE
(среднеквадратичная ошибка) измеряет среднее квадратов ошибок или отклонений. Это придает больший вес большим различиям. Чем больше ошибка, тем больше штраф.RMSE
(среднеквадратичная ошибка) оценивает, насколько хорошо модель может прогнозировать непрерывное значение. Чем меньше RMSE, тем лучше производительность модели.LogLoss
— самый важный показатель классификации, основанный на вероятностях. Чем ниже значение логарифмических потерь, тем лучше модель прогнозирует.AUC
(Площадь под кривой) оценивает производительность классификатора, видя, насколько хорошо модель может различать истинные положительные и ложные положительные результаты.1
означает, что классификатор идеален,0.5
означает, что классификатор бесполезен и случайен.AUCPR
(Площадь под кривой точности-отзыва) оценивает производительность классификатора, видя, насколько хорошо модель может различать точность-отзыв.AUCPR
не заботится оTN
и гораздо более чувствителен кTP
,FP
иFN
, чемAUC
.Gini
количественно определяет неравенство между классами. Он измеряет качество бинарного классификатора:0
означает, что классификатор бесполезен (все классы равны),1
означает, что классификатор совершенен (все классы максимально не равны).
ModelMetricsBinomial: gbm ** Reported on train data. ** MSE: 0.33985369446958325 RMSE: 0.5829697200280503 LogLoss: 0.9320991854736423 Mean Per-Class Error: 0.05403014920781413 AUC: 0.9802722658052608 AUCPR: 0.975584154580227 Gini: 0.9605445316105217
Объект aml
также включает в себя отчет о производительности five-fold cross-validated model
по умолчанию.
** Reported on cross-validation data. ** MSE: 0.03733712807617235 RMSE: 0.1932281761963621 LogLoss: 0.12760174945797606 Mean Per-Class Error: 0.08679433933241043 AUC: 0.9427588063374864 AUCPR: 0.533007175280796 Gini: 0.8855176126749729
Наши результаты обучения и проверки (LogLoss
, Mean Per-Class Error
, AUC
, AUCPR
) похожи друг на друга, поэтому наша модель не подгонялась.
Наша лучшая модель достигла точности 94%
.
Матрица путаницы
Act/Pred
: фактическое против прогнозаf1
– средневзвешенное гармоническое значениеprecision (TN)
иrecall (TP)
. Он говорит нам, какой процент положительных прогнозов является правильным.threshold
рассчитывается по H2O, чтобы получить максимальноеf1
.
Confusion Matrix (Act/Pred) for max f1 @ threshold = 0.0758614971594553
Ошибка нашей модели составляет 6%
для class 0
и 4%
для class 1
.
Максимальные показатели
max f1
– средневзвешенное гармоническое значениеprecision (TN)
иrecall (TP)
. 2*ТП / (2*ТП + ФП + ФН)max f2
– это средневзвешенное гармоническое значениеprecision (TN)
иrecall (TP)
, аналогичноеf1
, но с более весомым значением отзыва за счет штрафа заFN
иFP
.max f0point5
– это средневзвешенное гармоническое значениеprecision (TN)
иrecall (TP)
, аналогичноеf1
, но сprecision (TN)
, которому присваивается больший вес, чемrecall
.max accuracy
определяет, насколько хорошо модель обнаруживает положительные и отрицательные стороны. (ТП + ТН) / (П + Н)max precision
: True Negative (TN
) илиspecificity
, чтобы определить, насколько хорошо модель обнаруживает негативы. ТП / (ТП + ФП)max recall
: True Positive (TP
) илиsensitivity
, чтобы определить, насколько хорошо модель обнаруживает положительные результаты. ТП / П = ТП / (ТП+ФН)max specificity
: истинно отрицательный (TN
). TN / N = TN / (FP+TN)max sensitivity
: истинно положительный (TP
). ТП / П = ТП / (ТП + ФН)max absolute_mcc
absolute Коэффициент корреляции Мэтью возвращает значение от−1
до+1
.+1
означает идеальный классификатор.-1
означает бесполезный классификатор.max min_per_class_accuracy
минимальная ошибка для каждого класса.max mean_per_class_accuracy
средняя ошибка для каждого класса.max tns
True Negatives: количество правильно классифицированных отрицательных записей.max fns
Ложноотрицательные: количество классифицированных отрицательных результатов, в то время как на самом деле они положительные.max fps
Ложные срабатывания: количество классифицированных срабатываний, хотя на самом деле оно отрицательное.max tps
True Positives: количество правильно классифицированных положительных записей.max tnr
Истинный отрицательный показатель. ТН/(ТН+ФП)max fnr
Частота ложноотрицательных результатов. ФН / (ФН + ТП)max fpr
Частота ложноположительных результатов. ФП/(ФП+ТН)max tpr
Истинный положительный показатель. ТП / (ТП + ФН)
Наша модель достигла 94% accuracy
с 94% f1-score
, 100% precision
, 100% recall
и 100% specificity
.
Прирост/подъемный стол
The Gains/Lift Table
использует прогнозируемые данные для оценки производительности модели. Эта таблица особенно полезна для приложений прямого маркетинга, таких как наш проект. Диаграмма прироста/роста показывает эффективность текущих моделей по сравнению с базовым уровнем, что позволяет нам быстро определить наиболее полезную модель.
В отличие от Confusion Matrix
, который оценивает модели на всей совокупности, Gains/Lift Table
оценивает эффективность модели на части совокупности.
cumulative_data_fraction
= количество наблюдений в группе x / все наблюденияlower_threshold
= минимум прогнозируемой вероятности в группе xlift
= скорость_ответа / общая скорость ответа.lift
измеряет, насколько лучше текущая модель по сравнению с базовой. Чем больше площадь между кривой подъема и базовой линией, тем лучше модель.cumulative_lift
= cumulative_response_rate / общая частота ответовresponse_rate
= процент ответов в группе x. H2O использует скорость отклика первых десяти групп для оценки производительности модели; самый высокий отклик и самые высокие показатели вариации указывают на лучшую модель.score
= среднее значение прогнозируемой вероятности в группе xcumulative_response_rate
= частота ответов для всех наблюдений в группах с 1 по xcumulative_score
= среднее значение прогнозируемой вероятности для всех наблюдений в группах с 1 по xcapture_rate
= процент всех ответов в группе x.cumulative_capture_rate
= процент всех ответов в группах с 1 по xgain
= (подъем — 1) * 100.cumulative_gain
= (кумулятивный_подъем — 1) * 100kolmogorov_smirnov
представляет степень разделения между положительной (1) и отрицательной (0) кумулятивными функциями распределения. Чем выше значение, тем лучше модель.
Avg response rate: 50.13 %, avg score: 10.83 %
- Таблица Gains/Lift показывает результаты в 16 сегментах.
Сводка показателей перекрестной проверки
Сводка важности переменных
Объясните модели с H2O
H2O предлагает ряд методов объяснения модели, которые применяются к объектам AutoML (группам моделей), а также к отдельным моделям. Объяснимость — важный аспект машинного обучения, поскольку оценки точности модели обычно недостаточно для тех из нас, кто хочет больше узнать о том, как черный ящик модели принимает решения: как работают входные переменные модели и как меняются прогнозы модели. если мы изменим значения входных переменных.
Мы можем использовать explain
H2O, который является удобной оболочкой для ряда методов объяснимости и визуализаций в H2O
.
Объект aml
включает leader board
моделей, обученных в процессе. Давайте посмотрим на все модели из таблицы лидеров aml
.
leaderboard
— это информационная панель всех обученных моделей вместе с их метриками перекрестной проверки для ранжирования моделей, что соответствуетAUC
в нашем случае бинарной классификации.- По умолчанию будут отображаться только первые 5 строк, поэтому нам нужно указать
rows=lb.nrows
, чтобы отобразить все обученные модели.
Победителем стал GBM_grid
, который представляет собой Gradient Boost Machine с сеточным анализом.
GBM (Gradient Boost Machine) Интуиция
GBM — это алгоритм дерева решений, подобный Random Forest. Разница в том, что это обучающийся ансамбль, который итеративно строит ансамбль неглубоких деревьев в последовательности, когда каждое дерево изучает и совершенствует предыдущее. Хотя каждое дерево является слабой прогностической моделью и склонно к переоснащению, их повышение создает мощный лес обучающихся деревьев.
Точность GBM может сильно различаться, поэтому настройка требует много стратегий и усилий. Настройка гиперпараметра настолько сложна, потому что нет прямого способа рассчитать, как изменение значения гиперпараметра уменьшит потери нашей модели. H2O делает все это за нас, предоставляя нам оптимальное сочетание количества итераций (количества деревьев в ансамбле), количества наблюдений в каждом листе, а также сложности и глубины дерева.
number_of_tree
: количество деревьев в ансамбле.min_depth
: минимальная глубина дерева.max_depth
: максимальная глубина дерева, более глубокие деревья охватывают больше уникальных взаимодействий данных, но склонны к переобучению.min_leaves
: это наименьшее количество листьев (конечных узлов) всех деревьев в модели.max_leaves
: наибольшее количество листьев. Если мы оставим его равным None, все узлы будут расширены до тех пор, пока все листья не станут чистыми.
Здесь H2O сделала всю тяжелую работу для нас, чтобы построить GBM, который:
Потрясающе, правда?
Давайте воспользуемся explain()
, чтобы изучить эту выигрышную модель.
Важность переменной
График важности переменных показывает относительную важность наиболее важных переменных в модели.
- Это показало, что общие черты включают
Hormonal Contraceptives (years)
,Age
,First sexual intercourse
,Num of pregnancies
иNumber of sexual partners
как факторы, которые соответствуют факторам риска рака шейки матки. - Другие факторы включают
IUD (years)
,Dx:HPV
,Smokes
,Smokes (years)
иDx:Cancer
.
Мы можем резюмировать факторы риска рака шейки матки, включая следующее:
- Использование оральных контрацептивов в течение длительного времени.
- Секс в раннем возрасте
- Наличие нескольких половых партнеров
- Родить много детей
- Курить сигареты
- Заражение вирусом папилломы человека (ВПЧ)
Тепловая карта важности переменной
Тепловая карта важности переменной показывает важность переменной для нескольких моделей. Некоторые модели в H2O возвращают важность переменной для версий категориальных столбцов, закодированных с помощью одного горячего (двоичного индикатора) (например, Deep Learning, XGBoost). Чтобы значение переменной важности категориальных столбцов можно было сравнить во всех типах моделей, мы вычисляем суммирование важности переменной для всех функций с горячим кодированием и возвращаем значение одной переменной для исходной категориальной функции. По умолчанию модели и переменные упорядочены по их сходству.
- Все модели используют
Hormonal Contraceptives (years)
как наиболее важную функцию. Age
,Num of pregnancies
,First sexual intercourse
иNumber of sexual partners
также являются вспомогательными функциями. Это согласуется с нашим предыдущим графиком важности переменных.
Корреляция модели
На этом графике показана корреляция между предсказаниями моделей. Для классификации используется частота идентичных прогнозов. По умолчанию модели упорядочены по их сходству (вычисленному с помощью иерархической кластеризации). Интерпретируемые модели, такие как GAM, GLM и RuleFit, выделены красным цветом.
Резюме SHAP
Сводная диаграмма SHAP показывает вклад функций для каждого экземпляра (ряд данных). Сумма вкладов функций и члена смещения равна необработанному прогнозу модели, т. е. прогнозу до применения функции обратной связи.
Метод SHAP (Shapley Additive Explanations) основан на ценностях Шепли, введенных Шепли в 1953 году в контексте теории коалиционных игр. Он принадлежит к классу инструментов XAI, известных как атрибуция признаков или важность признаков. График Сводка SHAP показывает вклад функций для каждого экземпляра (строки данных) в выходные данные.
В настоящее время существует четыре типа: точка, полоса, скрипка и компактная точка. H2O генерирует для нас тип точки. Если вы знакомы с matplotlib
или seaborn
, вы узнаете, что они похожи на swarm plot
и violin plot
. Это потому, что это и то, и другое.
y-axis
: Особенности в порядке важности сверху вниз.x-axis
:SHAP value
или воздействие, отображающее частоту и распределение данных, т. е. вызывало ли влияние (низкое/высокое) значение прогноз (низкое/высокое).SHAP value
— это значение важности для конкретного прогноза. Он показывает взаимосвязь между значением функции и влиянием на прогноз.SHAP value
переходит от отрицательного к положительному, а0.0
означаетno effect
.Negative SHAP value
означает, что функция отрицательно влияет на предсказание.Positive SHAP value
означает, что функция оказывает положительное влияние на предсказание.Red
означаетhigh value
.Blue
означаетlow value
.- Большой кластер — это место, где точки разброса не умещаются на линии, они накапливаются, чтобы показать плотность.
Интересно, что Hormonal Contraceptives (years)
и Age
поменялись местами в сводном сюжете SHAP.
В целом мы видим, что все высокие значения сдвигают результат прогнозирования в положительную сторону от SHAP value
, что означает, что они положительно влияют на результат, т. е. увеличивают риск развития рака шейки матки.
Графики частичной зависимости
График частичной зависимости (PDP) дает графическое представление предельного влияния переменной на отклик. Влияние переменной измеряется изменением среднего отклика. PDP предполагает независимость между функцией, для которой рассчитывается PDP, и остальными.
GBM
,XGBoost
,DRF
иXRT
могут иметь дело со сложными и нелинейными отношениями между функциями и прогнозируемым результатом.GLM
не удалось зафиксировать нелинейность.
График частичной зависимости (PDP) дает графическое изображение предельного влияния переменной на отклик. Влияние переменной измеряется изменением среднего отклика. PDP предполагает независимость между функцией, для которой вычисляется PDP, и остальными другими функциями.
Определение важности переменной полезно для выявления основных участников/игроков, но они не предоставляют информацию о взаимосвязи между входными переменными и прогнозами. В то время как значение переменной показывает, какие переменные больше всего влияют на прогнозы, графики частичной зависимости показывают незначительное влияние функции на прогнозируемый результат (Фридман, 2001). График частичной зависимости может показать, является ли связь между целью и функцией линейной, монотонной или более сложной (Molnar, 2019).
y-axis
=Mean Response
= изменение прогноза по сравнению с исходным прогнозом.Baseline
— самое левое значение по оси Y. Все, что после этого, является изменением в предсказании.Solid line
=Mean Response
или изменение прогноза.Green shade
= доверительный интервал.
- На 8-м году
Mean Response
значительно увеличивается. - Чем дольше используется
Hormonal Contraceptives (years)
, тем больше он влияет на результат прогнозирования.
- Вероятность развития рака выше после 20 лет и значительно выше, когда человек достигает 45 лет.
- Шансы заболеть раком самые высокие, когда человеку еще не исполнилось 18 лет.
- Чем позже
First sexual intercourse
задерживается, тем ниже вероятность того, что человек заболеет раком. - Хотя
Mean Response
увеличивается после 22 лет, это связано с тем, чтоAge
является большим фактором риска развития рака шейки матки.
- Более высокий
Num of pregnancies
увеличивает шанс заболеть раком шейки матки, особенно при 4 беременности.
- Шансы заболеть раком шейки матки увеличиваются после 2
Number of sexual partners
.
Сделать прогноз
Теперь давайте проверим нашу модель, сделав прогноз. Чтобы сделать прогноз, мы используем модель leader
для predict
набора test
.
Вот полный набор данных с predict
вместе со всеми функциями.
as_list
преобразует кадр H2O обратно в кадр pandas.- Теперь, когда мы вернули наш кадр панд, мы можем соединить его, чтобы получить только наземную правду
Biopsy
и вновь сгенерированный прогнозpredict
.
Объясните модели с LIME
ЛАЙМ Интуиция
LIME (Local Interpretable Model-agnostic Explanations) — это метод объяснения прогнозов машинного обучения, разработанный Марко Рибейро в его статье 2016 года Почему я должен вам доверять?: объяснение прогнозов любого классификатора». . Это метод визуализации, который не дает общего объяснения того, почему модель ведет себя определенным образом, а скорее объясняет, как классифицируется конкретное, индивидуальное наблюдение.
Работа LIME основана на предположении, что можно подогнать одну простую модель к одному единственному наблюдению так же, как глобальная сложная модель ведет себя в этой местности. LIME обучает эту суррогатную модель, создавая новый набор данных из интересующей точки данных:
- Область
green/orange
представляет собой черный ящик сложной модели, который не может быть объяснен простой линейной моделью. black cross
— это выбранный экземпляр, который используется для объяснения.Dots
— это искусственные данные, созданныеpermute
репликацией.Dash line
— это простая линейная модель, адаптированная кdots
искусственным данным.
LIME имеет три основные функции: image explainer
интерпретирует модели классификации изображений (наличие/отсутствие суперпикселей), text explainer
обеспечивает понимание текстовых моделей (наличие/отсутствие слов), а tabular explainer
оценивает, в какой степени особенности табличного набора данных учитываются при дело доходит до процесса классификации. В сегодняшнем проекте мы используем модули lime_tabular
и LimeTabularExplainer
.
Библиотека lime
требует, чтобы категориальные переменные были закодированы в числовом формате, но наши данные уже находятся в числовом формате, поэтому нам не нужна дополнительная предварительная обработка. Однако наши данные находятся в кадре H2O, а не в пандах, поэтому нам нужно выполнить некоторые дополнительные действия.
Шаг 1: нам нужно инициализировать LIME explainer
, который ожидает train features
в формате numpy и feature names
в формате списка. Поскольку наши классы меток уже 0
и 1
, мы можем пропустить имена классов.
feature_names
: должен быть в формате списка. Функцияcolumn()
кадра данных H2O вернет имена столбцов. И поскольку нам не нужен последний целевой столбец, мы можем соединить его, передав индекс из[0 : -1]
.train_features_numpy
:as_data_frame()
преобразует кадр H2O в кадр pandas.values()
преобразует фрейм pandas в формат numpy. Результат будет выглядеть так:
array([[18. , 4. , 15. , ..., 0. , 0. , 0. ], [34. , 1. , 16.99529965, ..., 0. , 0. , 0. ], [52. , 5. , 16. , ..., 0. , 0. , 0. ], ..., [25. , 2. , 17. , ..., 0. , 0. , 1. ], [33. , 2. , 24. , ..., 0. , 0. , 0. ], [29. , 2. , 20. , ..., 0. , 0. , 0. ]])
mode='classification'
: нам нужно указать, что наша задача является задачей классификации.
Шаг 2:рассчитайте вероятность класса экземпляра.
findPrediction()
возвращает вероятность класса экземпляра.- Этот выбранный экземпляр является
test_numpy
, который мы передаем вexplain_instance()
, поэтому нам нужно преобразовать его обратно в кадр H2O, поскольку нам нужно использовать модель H2O, чтобы сделать для него прогноз. Мы делаем это, используяH2OFrame()
. - После того, как прогноз сделан, мы снова конвертируем его обратно в кадр pandas с помощью
as_data_frame()
. findPrediction()
вернет 3-столбцовый фрейм дляpredictions
: вероятности прогноза, важность функций и таблицу характеристик/значений.
Шаг 3. примените этот explainer
для интерпретации модели на основе конкретных наблюдений.
idx
— это индекс выбранного экземпляра. Этот экземпляр происходит из набораtest
, который находится в фрейме H2O, поэтому нам нужно обработать его черезas_data_frame()
, чтобы преобразовать его в фрейм pandas, превратить его в пустой массив с помощьюvalues
и соединить его, чтобы исключить последний целевой столбец с[0:-1]
.test_numpy
должно выглядеть так, прежде чем мы сможем его объяснить.
array( [45., 2., 18., 4., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1.])
explain_instance()
находит локальное приближение с интерпретируемой линейной моделью. Он принимаетtest_numpy
,findPrediction
и количество функцийlen(feature_names)
.- Результат можно представить графически с помощью метода
show_in_notebook()
.
Давайте объясним на уровне экземпляра пациента 100
, которому 45 лет, у него 2 половых партнера, первый половой акт был в 18 лет, у него было 4 беременности, он не курит, не принимает гормональные контрацептивы и не имеет ВМС.
- Вероятности предсказания показывают, насколько вероятно, что экземпляр относится к классу 0, и насколько вероятно, что выбранный экземпляр относится к классу 0.
- Атрибуты в
blue
поддерживаютclass 0
, аorange
поддерживаютclass 1
.
Мы можем хорошо видеть, какие значения признаков повлияли на прогноз. Мы видим, что First sexual intercourse
, Hormonal Contraceptives (years)
, STDs: molluscum
, STDs:Hepatits B
, STDs:vaginal condylomatosis
и STDs:syphilis
положительно влияют на прогноз, а остальные функции отрицательно влияют на прогноз.
Давайте сделаем несколько пояснений на уровне экземпляра для пациентки 120
, которой 20 лет, у которой было 3 половых партнера, первый половой акт был в 18 лет, у нее было 2 беременности, она не курит и не принимает гормональные контрацептивы.
Теперь, например, разъяснения уровня для пациентки 150
, 19 лет, имела 1 полового партнера, первый половой акт был в 18 лет, имела 1 беременность, не курит, принимает гормональные контрацептивы 1 год.
Мы успешно обучили различные продвинутые ансамблевые модели с помощью H2O AutoML для прогнозирования Biopsy
, то есть шансов развития рака шейки матки, учитывая возраст, историю сексуального здоровья, беременность, использование противозачаточных средств и привычку курить. Мы также использовали множество методов объяснимого ИИ, таких как Variable Importance Plot
, Partial Dependence Plot
, SHAP Summary Plot
и LIME
, чтобы объяснить процесс принятия решений нашей машиной.
Гитхаб
Ссылка
Асади, Ф; Салехнасаб, К; Аджори, Л. (2020). Контролируемые алгоритмы машинного обучения для прогнозирования рака шейки матки. Журнал биомедицинской физики и техники, 10 (4), 513–522. https://doi.org/10.31661/jbpe.v0i0.1912-1027
Бичек, П., и Буржиковски, Т. (2020, 12 декабря). Анализ объяснительной модели. Анализ объяснительной модели. Получено 11 октября 2021 г. с https://ema.drwhy.ai/.
Центры по контролю и профилактике заболеваний. (2021, 12 января). Каковы факторы риска рака шейки матки? Центры по контролю и профилактике заболеваний. Получено 12 октября 2021 г. с https://www.cdc.gov/cancer/cervical/basic_info/risk_factors.htm.
Факторы риска рака шейки матки: Факторы риска рака шейки матки. Американское онкологическое общество. (н.д.). Получено 11 октября 2021 г. с https://www.cancer.org/cancer/cervical-cancer/causes-risks-prevention/risk-factors.html.
Статистика рака шейки матки: основные факты о раке шейки матки. Американское онкологическое общество. (н.д.). Получено 11 октября 2021 г. с https://www.cancer.org/cancer/cervical-cancer/about/key-statistics.html.
Фридман, Дж. Х. (2001). Приближение жадных функций: машина повышения градиента. Статистические анналы, 29 (5), 1189–1232. http://www.jstor.org/stable/2699986.
Иджаз, М.Ф., Аттик, М., и сын, Ю. (2020). Управляемая данными модель прогнозирования рака шейки матки с методами обнаружения выбросов и избыточной выборки. Sensors (Базель, Швейцария), 20(10), 2809. https://doi.org/10.3390/s20102809.
Келвин Фернандес, Хайме С. Кардосо и Джессика Фернандес. «Перенос обучения с частичной наблюдаемостью в применении к скринингу рака шейки матки». Иберийская конференция по распознаванию образов и анализу изображений. Издательство Springer International, 2017.
Лассис, Д.Л., Савиц, Д.А., Хамман, Р.Ф., Барон, А.Е., Бринтон, Л.А., и Левинс, Р.С. (1991). Инвазивный рак шейки матки и использование внутриматочной спирали. Международный журнал эпидемиологии, 20(4), 865–870. https://doi.org/10.1093/ije/20.4.865
Молнар, К. (2020). 8.1 График частичной зависимости (PDP). В Интерпретируемом машинном обучении: руководство по созданию объяснимых моделей черного ящика. Линпаб. 2019. https://christophm.github.io/interpretable-ml-book/pdp.html.
Семинар — Ланцет. (2019, 12 января). Получено 13 октября 2021 г. с https://www.thelancet.com/pdfs/journals/lancet/PIIS0140-6736(18)32470-X.pdf.