Рак молочной железы является второй ведущей причиной смерти от рака среди женщин.¹

Вероятность того, что женщина умрет от рака молочной железы, составляет примерно 1 к 39.¹

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

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

Несомненно, наиболее важным прогностическим элементом рака молочной железы является ранняя диагностика².

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

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

Классификация машинного обучения

Классификация — это задача, требующая использования алгоритмов машинного обучения, которые узнают, как присваивать метку класса примерам из предметной области. Простой для понимания пример — классификация электронных писем как «спам» или «не спам».³

Точно так же мы будем использовать классификацию ML, чтобы помечать опухоли как злокачественные или доброкачественные (раковые или незлокачественные).

Разбивка кода

Мы будем использовать следующие библиотеки машинного обучения Python. (KNN — это реализация алгоритма классификации K-Nearest Neighbor. Реализация размещена на GitHub)

Мы создадим фрейм данных из набора данных scikit-learn о раке молочной железы.

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

После того, как мы определили функции, которые будем использовать, мы можем создать визуальное представление выбранных нами данных — с цветовой кодировкой в ​​соответствии с нашим целевым классификатором (раковая/нераковая опухоль).

Мы разделим наши данные на отдельные массивы numpy — XFeaturesи YTarget . Мы нормализуемнаши данные с помощью масштабирования Min-Max Feature, чтобы привести все значения в согласованный диапазон и улучшить общую производительность нашей модели.

Мы продолжим разделять наши данные на 70% обучения, 15% разработки и 15% тестирования. (В этой статье мы рассмотрим только обучение модели 70 %данных и оценку производительности по сравнению с данными разработки 15 %)

Методы классификации

Мы будем обучать наши данные, используя scikit-learn Машины опорных векторов, Фиктивный классификатор и Стратифицированный фиктивный классификатор.

Мы реализуем собственную версию алгоритма K-ближайших соседей. (Реализация алгоритма классификации K-Nearest Neighbor также размещена на GitHub)

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

Мы оценим производительность наших моделей с помощью функции scikit-learn confusion_matrix.

Если мы используем реализацию машины опорных векторов из scikit-learn, мы можем использовать GridSearchCV, который использует перекрестную проверку для точной настройки гиперпараметров, что приводит к наилучшему соответствию с помощью перекрестной проверки.

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

Мы также сравним производительность между моделью KNN с 1 соседом и моделью KNN с 3 соседями.

Из матрицы путаницы мы видим, что Hyper-Tuned SVM была наиболее точной и точной моделью, используемой для классификации опухолей рака молочной железы.

Заключительные мысли

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

[1] https://www.cancer.org/cancer/breast-cancer/about/how-common-is-breast-cancer.html

[2] https://www.sciencedirect.com/science/article/pii/S0960977622000303#:~:text=сосредоточение%20на%20%20наиболее%20важных, вопросы%20%20все%20тесно%20связаны.

[3] https://machinelearningmastery.com/types-of-classification-in-machine-learning/