«В жизни много испытаний. Те, которые не должны нас пугать, — это те, с которыми мы можем справиться и взять под контроль». — Анджелина Джоли

Введение

Рак молочной железы – это аномальный рост клеток молочной железы. Рак молочной железы может развиться как у мужчин, так и у женщин, хотя у мужчин он встречается редко. Это второй по частоте рак у женщин и самый распространенный и инвазивный у женщин. В 2020 году во всем мире у 2,3 миллиона женщин был диагностирован рак молочной железы, и 685 000 человек умерли (ВОЗ). Лечение рака молочной железы может быть очень эффективным, если оно обнаружено на ранней стадии. Целью Глобальной инициативы ВОЗ по борьбе с раком молочной железы (GBCI) является снижение глобальной смертности от рака молочной железы на 2,5% в год, тем самым предотвращая 2,5 миллиона смертей от рака молочной железы во всем мире в период с 2020 по 2040 год. Этого можно достичь за счет раннего выявления, своевременной диагностики и всесторонних лечение рака молочной железы.

Обзор литературы

Причинный вывод - это исследование и анализ, основанные на сравнении потенциальных результатов, которые определяют фактический эффект конкретного явления. Анализ стремится сделать вывод о том, что что-то может вызвать что-то другое. Причинно-следственный вывод используется при принятии бизнес-решений путем понимания данных, лежащих в основе модели, и понимания влияния ключевых характеристик данных, тем самым устраняя разрыв между прогнозированием и принятием решений. Он применяется в рекомендательных системах для социальных сетей, Netflix и рекламы, а также в медицине.

Обзор проекта

Этот проект направлен на определение причин рака молочной железы на основе характеристик массы молочной железы. С помощью этой информации можно предсказать признаки заболевания и начать раннее лечение данного пациента. Раннее лечение дает пациентке более высокие шансы на выживание и излечение от рака молочной железы. Проект будет осуществляться в несколько этапов:

1. Исследовательский анализ данных (EDA)

2. Предварительная обработка данных

3. Причинно-следственный вывод с использованием Pearl’s Framework

4. Создание и вывод причинно-следственных диаграмм

5. Машинное обучение с причинно-следственными связями

Данные

Данные, используемые для этого проекта, были получены от Kaggle. Он был получен при диагностике рака молочной железы с помощью таких процессов, как маммография, FNA с визуальными интерпретациями и хирургическая биопсия. Столбцы данных и типы данных были следующими:

Среднее значение, стандартная ошибка (SE) и «наихудшее» или наибольшее (среднее значение трех самых больших значений) этих числовых признаков были рассчитаны для каждого изображения, в результате чего было получено 30 полей. Например, средний радиус, юго-восточный радиус, наихудший радиус. Все значения признаков были записаны с четырьмя значащими цифрами.

Данные не имели пропущенных значений. Он содержал 569 строк и 32 столбца. Пациентов можно сгруппировать по классу: 357 доброкачественных (не рак), 212 злокачественных (рак).

Исследовательский анализ данных

Это процесс анализа данных для оценки и обобщения основных характеристик, распределения и характеристик набора данных с использованием методов визуализации данных. Этот шаг позволит данным предоставить информацию, необходимую для этапов моделирования.

Одномерный анализ

В этом разделе мы проверяем распределение каждой функции.

Из визуализации выше видно, что доля пациентов с доброкачественными образованиями молочной железы больше, чем со злокачественными.

  • Распределение функций данных

Двумерный анализ

На этом этапе мы сравним два атрибута данных, чтобы увидеть их распределение.

Из приведенного выше анализа видно, что некоторые признаки определяют, является ли ткань злокачественной (желтый) или доброкачественной (фиолетовый). К ним относятся вогнутые точки, вогнутость, текстура, радиус, площадь и компактность.

Корреляционный анализ

Корреляция — это наличие взаимосвязи между двумя или более атрибутами набора данных. Карта корреляции используется для визуализации корреляции между столбцами в наборе данных о раке молочной железы, как показано ниже.

Приведенная выше карта корреляции показывает, что perimeter_mean сильно коррелирует со средним значением площади и средним значением радиуса. Compactness_mean также сильно коррелирует с concativity_mean и средним значением вогнутых точек. Однако корреляция не является определенным показателем причинно-следственной связи в данных.

Парадокс Симпсона

Это сценарий, в котором корреляция между двумя переменными, которые кажутся коррелированными, может стать антикоррелированной, когда принимается во внимание другой фактор. В причинно-следственном выводе нам необходимо определить скрытый фактор, который вызывает или повышает вероятность возникновения рака груди на основе взятых образцов.

Предварительная обработка данных

Данные требовали предварительной обработки из-за асимметрии в некоторых столбцах. Столбец с нулевыми столбцами также был удален. Выбросы могут ввести в заблуждение наши модели, поэтому необходимо удалить выбросы в данных.

Приведенная выше функция использовалась для обработки выбросов в столбцах.

Разработка функций

Инжиниринг признаков — это процесс подготовки, преобразования и извлечения признаков из необработанных данных, чтобы предоставить наилучшие входные данные для модели машинного обучения. Это повышает точность результатов.

Для графического причинно-следственного анализа нам нужно использовать наиболее важную особенность данных в качестве узлов для оценки их эффектов. Мы будем использовать классификатор случайного леса для разработки признаков. Случайный лес — это метод ансамблевого обучения, основанный на дереве решений. Он создает множество деревьев решений и отбирает данные на каждом шаге, и выигрывает большинство вхождений выходных данных. Приведенные ниже результаты были получены по важности признаков.

Причинно-следственная связь

Причинное исчисление Джудеи Перл используется для вывода причинно-следственной связи в данных. Причинно-следственные графики были созданы с использованием библиотеки CausalNex. Сначала был создан причинно-следственный график с использованием всех обучающих данных (график истинности). Алгоритм NOTEARS можно использовать для изучения причинно-следственной структуры наших данных. На изображении ниже показан полученный наземный график истинности.

На приведенном выше изображении наземный граф истинности имеет слабые ребра, которые не нужны. Чтобы удалить такие края, я применил порог для ограничения отображаемых краев. Следующий график был получен после удаления ребер ниже порога 0,8.

Затем данные были разделены на возрастающие доли 20%, 40%, 60% и 80%. Затем индекс подобия Жаккара использовался для сравнения ребер четырех графиков со 100% данными, чтобы выбрать наиболее стабильный график. Граф с более высоким индексом подобия Жаккара (ближе к 1) является лучшим графом. Индекс получается путем получения ребер каждого графика в виде массива numpy, а затем преобразования каждого массива в одномерный массив. Индекс подобия Жаккара рассчитывается по формуле:

Были получены следующие баллы:

Окончательный причинно-следственный график, основанный на приведенных выше результатах, был следующим:

Одеяло Маркова

Чтобы сделать причинно-следственный вывод из нашего анализа, нам нужно использовать марковское одеяло. Марковское одеяло переменной X — это наименьшее множество Mb(X), содержащее все переменные, несущие информацию об X, которую нельзя получить ни от какой другой переменной. Поэтому MB модели структуры имеет только ребра и узлы, которые определяют причинно-следственную связь наших данных. Список кромок ниже показывает одеяло, которое я получил.

Машинное обучение с логическим выводом

На этом этапе машинное обучение будет выполняться с использованием результатов причинного вывода, полученного из описанного выше марковского одеяла. На этапе моделирования использовались следующие шаги:

  1. Отфильтруйте данные, выбрав только имена столбцов причинно-следственных связей.
  2. Разделите данные на поезд и тест

3. Смоделируйте исходную версию данных и отфильтрованные данные.

4. делать прогнозы, используя обе модели

5. Сравните точность и точность вашей модели для оценки модели.

Байесовский сетевой классификатор

Байесовская модель структурирует данные с учетом марковского покрытия. Одеяло теперь является объектом BayesianNetwork, который содержит структуру MB исходной bn сети. Это означает, что если нас интересуют только target и узлы, имеющие прямое влияние на target, нам нужно беспокоиться только об узлах, содержащихся в blanket. Вывод ниже показывает, как работает байесовская сеть.

Логистическая регрессия

Модель логистической регрессии берет некоторые немаркированные данные и эффективно присваивает каждому наблюдению вероятность в диапазоне от 0 до 1 для диагностики целевой переменной. Однако, чтобы мы могли оценить точность прогнозов, прогнозы должны быть закодированы таким образом, чтобы каждый экземпляр можно было сравнивать непосредственно с метками в тестовых данных. Результаты ниже показывают оценку модели логистической регрессии после

Версии данных

В этом проекте управление версиями данных сыграло важную роль в обеспечении изменчивости данных, используемых для моделирования и причинно-следственного анализа. Изменчивость характеристик данных обеспечивает точность наших моделей. Для этой функции я использовал управление версиями данных (DVC). Кроме того, размер ваших данных может ограничивать вас от их размещения на Github. DVC помогает предоставить более легкую версию ваших данных, которую вы можете беспрепятственно отправить в git. Шаги, предпринятые для настройки и использования DVC, следующие:

  1. Установите dvc (я использовал установку pip в Ubuntu/Windows)
  2. Я использовал свой диск Google для настройки удаленного хранилища с помощью dvc remote add gdrive:‹gdrive link›
  3. Используется ‹dvc get› для доступа к данным