Вызов:

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

Решение:

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

Наша цель:

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

Что такое алгоритм KNN?

В статистике k-алгоритм ближайших соседей (k-NN) – это сначала метод непараметрической классификации. разработан Эвелин Фикс и Джозефом Ходжесом в 1951 году, а затем расширен Томасом Кавером. Он используется для классификации и регрессии. В обоих случаях входные данные состоят из k ближайших обучающих примеров в наборе данных. Результат зависит от того, используется ли k-NN для классификации или регрессии:

  • В классификации k-NN результатом является принадлежность к классу. Объект классифицируется множеством голосов его соседей, при этом объект присваивается классу, наиболее распространенному среди его k ближайших соседей (k — положительное целое число, обычно маленькое ). Если k = 1, то объект просто присваивается классу этого единственного ближайшего соседа.
  • В регрессии k-NN результатом является значение свойства объекта. Это значение является средним значением k ближайших соседей.

Но почему KNN?

Основные причины:

  • Это просто реализовать.
  • Он устойчив к зашумленным тренировочным данным
  • Это может быть более эффективным, если обучающие данные большие.

Для нашего случая, поскольку этот алгоритм используется для распознавания образов, это хороший подход. Чтобы распознать шаблон, каждому классу придается одинаковое значение. K Ближайший сосед извлекает похожие данные из большого набора данных. На основе сходства признаков мы классифицируем большой набор данных (т. е. являются ли опухоли доброкачественными или злокачественными).

Шаги для реализации алгоритма KNN:

  1. Рассчитайте расстояние каждого данных от точки, скажем, p.
  2. Найдите KNN, который является ближайшим соседом.
  3. Провести голосование (подсчет).

Для расчета расстояния мы будем использовать манхэттенское расстояние (норма L1):

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

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

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

Шаг 1. Сбор данных

Мы будем использовать Висконсинский (диагностический) набор данных по раку молочной железы. Набор данных можно найти в репозитории машинного обучения UCI:

https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29

Характеристики рассчитываются по оцифрованному изображению тонкоигольной аспирации (ТАБ) массы молочной железы. Они описывают характеристики клеточных ядер, представленных на изображении.
Трехмерное пространство описано в: [K. П. Беннетт и О.Л. Мангасарян: «Надежное различение двух линейно неразделимых множеств с помощью линейного программирования», Методы оптимизации и программное обеспечение, 1, 1992, 23–34].

Информация об атрибутах:

1) Идентификационный номер
2) Диагноз (М = злокачественное, В = доброкачественное)
3–32)

Для каждого клеточного ядра вычисляются десять вещественных признаков:

a) радиус (среднее значение расстояний от центра до точек на периметре)
b) текстура (стандартное отклонение значений шкалы серого)
c) периметр
d) площадь
e ) гладкость (локальное изменение длин радиусов)
е) компактность (периметр² / площадь — 1,0)
ж) вогнутость (выраженность вогнутых участков контура)
з) вогнутость точек (количество вогнутые участки контура)
i) симметрия
j) фрактальная размерность («приближение береговой линии» — 1)

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

Шаг 2. Подготовка данных

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

Нам нужно убедиться, что наш набор данных является случайным, чтобы обеспечить равномерное распределение данных для лучших прогнозов. Также нам нужно разделить данные. Данные, которые мы используем, обычно делятся на обучающие данные и тестовые данные. Обучающий набор содержит известные выходные данные, и модель учится на этих данных, чтобы позже обобщить их на другие данные. У нас есть тестовый набор данных (или подмножество), чтобы проверить прогноз нашей модели на этом подмножестве.

Шаг 3. Выбор модели

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

Шаг 4. Обучение модели

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

Шаг 5. Оценка модели

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

Согласно графику и списку точности, значение k, для которого модель является наиболее точной, равно 5, а максимальная точность составляет 97,12%, что является очень высоким показателем.

Вывод:

Таким образом, мы разработали эффективную модель машинного обучения для прогнозирования рака молочной железы с использованием алгоритма KNN с точностью 97,12%.

Ссылка на репозиторий GitHub для этой модели: https://github.com/AmimaShifa/Breast-Cancer-Prediction-Using-KNN-Algorithm/blob/main/ML_MODEL_Breast_Cancer_Data.ipynb