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

У каждой восьмой женщины в США на протяжении всей жизни будет диагностирован рак груди.

Из всех, кому поставлен диагноз, только 87% поставлены правильно. На первый взгляд 87% может показаться нормальным числом, не так ли? Это на стороне большинства, но когда дело доходит до медицины, из 2 миллионов женщин, страдающих раком груди в мире, только около 1,74 миллиона женщин будут иметь правильный диагноз, а у 600 000 останется правильный диагноз. информация об их состоянии.

Для постановки диагноза проводится биопсия груди, когда рентгенологи обнаруживают подозрительные образования на маммограмме. Нарост удаляется хирургическим путем и исследуется под микроскопом. Многочисленные исследовательские работы, такие как этот и этот, показали, что рак груди часто неправильно диагностируется, и диагноз часто недостаточно или чрезмерно лечит пациента. Ведущий автор многих из этих работ доктор Джоан Элмор, исследователь Вашингтонского университета, описывает этот процесс как очень подверженный ошибкам:

Патологоанатомы правильно диагностируют аномальные предраковые клетки примерно в половине случаев, не лучше, чем подбрасывание монеты, - ведущий автор доктор Джоанн Элмор, исследователь Вашингтонского университета.

Многим пациентам, страдающим раком груди, часто приходится прибегать к заключению второго специалиста по поводу своего диагноза, чтобы убедиться, что они действительно получают необходимое лечение. Получение второго мнения по поводу диагноза часто дорого, что делает невозможным для значительного процента населения посещение другого специалиста для проверки своих результатов.

Машинное обучение - это экономичное и эффективное решение этой проблемы, поскольку оно предлагает:

  • Высокая точность диагностики
  • Второе мнение, не требуя такой же оплаты, как у специалиста
  • Мгновенный и легкий доступ

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

Итак, я создал модель машинного обучения, чтобы использовать количественные данные для диагностики того, есть ли у пациента с раком груди доброкачественная или злокачественная опухоль. Используя контролируемое обучение и тестирование трех типов моделей: классификатор случайного леса, классификатор дерева решений и классификатор логистической регрессии, я смог выбрать модель, обеспечивающую точность 96%.

Подготовка данных:

Измерения и данные, которые я использовал, были взяты из Висконсинского набора данных (диагностических) по раку груди. Измерения описывали характеристики ядер клеток по изображению тонкоигольного аспирата (FNA) новообразования груди.

Я использую библиотеки Numpy, Pandas, Matplotlib и Seaborn для управления данными и построения модели машинного обучения.

Понимание данных:

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

Из 569 рядов пациентов это график количества злокачественных и доброкачественных опухолей, содержащихся в наборе данных.

Очистка данных:

Теперь я собираюсь удалить ненужные данные из моей модели , используя следующую логику:

  1. Я считаю все столбцы, содержащие пустые значения (NaN, NAN, na). Столбец 32 с заголовком «Безымянный» содержит пустые значения для всех пациентов в этом наборе данных. Очевидно, это не помогает предсказать, является ли опухоль злокачественной или доброкачественной, поэтому я могу удалить эту колонку.
  2. Столбец 0, содержащий идентификатор пациента, также не будет полезен для наших целей и поэтому удаляется из набора данных.

Увидеть корреляцию переменных:

Для дальнейшего изучения данных можно посмотреть, как одна из 32 переменных соотносится со значениями другой. Это даст нам дополнительное понимание того, какие переменные объединяются, чтобы вызвать злокачественную опухоль, и как модель машинного обучения будет делать свои прогнозы.

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

Разделение данных:

Для модели я разделил данные так, чтобы 75% выступали в качестве набора данных для обучения, а остальные 25% - в качестве набора данных для тестирования. Я также масштабирую данные, чтобы их измерения были преобразованы в шкалу от 0 до 100 или от 0 до 1 для более точного сравнения.

Модели машинного обучения:

Я создаю функцию, содержащую три модели, которые мы можем использовать для определения типа опухоли у пациента, используя следующие строки кода.

def models(X_train, Y_train)
     from sklearn.linear_model import LogisticRegression
     log = LogisticRegression(random_state=0)
     log.fit(X_train, Y_train)
     from sklearn.tree import DecisionTreeClassifier
     tree = DecisionTreeClassifier(criterion = ‘entropy’,      random_state=0)
     tree.fit(X_train, Y_train)
     from sklearn.ensemble import RandomForestClassifier
     forest = RandomForestClassifier(n_estimators = 10, criterion = ‘entropy’, random_state = 0)
     forest.fit(X_train, Y_train)

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

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

  • используется для моделирования вероятности определенного события, в данном случае событие имеет злокачественную опухоль, что обозначено «1» в преобразованных данных.
  • часто используется для классификации на основе нескольких атрибутов, так как выходные данные находятся в диапазоне от 0 до 1

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

Классификатор дерева решений

  • может выводить категориальный прогноз: относится ли растение к определенному виду или нет
  • численный прогноз: сколько стоит дом

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

Классификатор случайного леса

  • состоит из большого количества отдельных деревьев решений, отсюда «классификатор лесов», которые работают вместе для прогнозирования выходных данных.
  • каждое дерево дает свой прогноз ответа, и ответ, который является наиболее популярным среди деревьев, - это выходные данные модели

Если деревья `` голосуют '', где большинство выигрывает, эффективно для вывода точного прогноза, поскольку это гарантирует, что результат был предсказан несколькими деревьями с разными параметрами и настройками, таким образом, сводя к минимуму вероятность или вероятность и ошибку в выводимом прогнозе. по нашей модели.

Тестирование моделей:

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

Модель 0 - это модель логистической регрессии с точностью тестирования 95,1%. Классификатор дерева решений - это Модель 1 с точностью 93,7%. Наконец, Модель 2 - это классификатор случайного леса, и он оказался наиболее точным по данным тестирования, дав результат 96,5%.

Это код, который мы можем использовать для отображения дополнительных показателей производительности модели:

from sklearn.metrics import classification_report
from sklearn.metrics import accuracy_score
for i in range(len(model)):
print('Model ', i)
print(classification_report(Y_test, model[0].predict(X_test)))
print(accuracy_score(Y_test, model[0].predict(X_test)))

Получаем следующий результат:

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

Спасибо за чтение! Пожалуйста, не забудьте оставить аплодисменты и проверить:

  1. Мой сайт: linanayvelt.com
  2. Колаб ссылку на проект!
  3. Мой Linkedln: https://www.linkedin.com/in/lina-nayvelt

Ссылки:

Таннер, Л. (18 марта 2015 г.). Ткани груди диагностируются чаще, чем вы думаете. Получено с https://www.theglobeandmail.com/life/health-and-fitness/health/breast-tissue-misdiagnaged-more-often-than-you-think/article23522980/.

Uci. (2016, 25 сентября). Набор данных по раку молочной железы, штат Висконсин (диагностический). Получено с https://www.kaggle.com/uciml/breast-cancer-wisconsin-data

Ю Т. (14 августа 2019 г.). Понимание случайного леса. Получено с https://towardsdatascience.com/understanding-random-forest-58381e0602d2?gi=855dafade1

(нет данных). Выявление рака груди с помощью машинного обучения. Получено 28 апреля 2020 г. с сайта https://www.youtube.com/watch?v=NSSOyhJBmWY&feature=youtu.be.

Зорноза, Дж. (8 февраля 2020 г.). Объяснение логистической регрессии. Получено с https://towardsdatascience.com/logistic-regression-explained-9ee73cede081

Зорноза, Дж. (8 марта 2020 г.). Объяснение деревьев решений. Получено с https://towardsdatascience.com/decision-trees-explained-3ec41632ceb6