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

Набор данных:

Источник: https://www.kaggle.com/jakeshbohaju/brain-tumor

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

Наша переменная Target имеет два значения: «0» и «1», поэтому это проблема двоичной классификации.

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

  1. Форма набора данных: (3762,15)
  2. Тип данных: кроме атрибута Image все остальные атрибуты имеют тип данных int / float. Таким образом, мы отказались от атрибута Image, поскольку он не играл значительной роли в определении класса, то есть целевого атрибута.
  3. Распределение целевого атрибута: класс

Мы можем сказать, что у нас есть хорошо сбалансированный набор данных, так как у нас есть 55,26% (2079) образцов, классифицированных как класс 0, то есть не опухоль, и 44,74% (1683) образцов, классифицированных как класс 1, то есть опухоль.

4. Корреляционная матрица

5. Обнаружение недостающих значений

Таким образом, у нас нет нулевых / пропущенных значений ни в одном атрибуте.

6. Обнаружение и удаление выбросов:

Используя коробчатую диаграмму, мы обнаружили, что в наших данных были выбросы по ряду функций, чтобы удалить их, мы использовали метод, называемый методом межквартильного диапазона для удаления выбросов. В нем говорится, что рассчитайте межквартильный диапазон для данных. Умножьте межквартильный диапазон (IQR) на 1,5 (константа, используемая для выявления выбросов). Прибавьте 1,5 x (IQR) к третьему квартилю. Любое число, превышающее это, является подозреваемым выбросом.

7. Выбор функций и важность

(a) Одномерный выбор признаков работает путем выбора лучших признаков на основе одномерных статистических тестов. Это можно рассматривать как этап предварительной обработки оценщика. Библиотека scikit-learn предоставляет класс SelectKBest, который можно использовать с набором различных статистических тестов для выбора определенного количества функций.

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

8. Нормализация функций:

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

Используемые алгоритмы машинного обучения:

  1. Наивный байесовский классификатор
  2. K Ближайшие соседи
  3. "Логистическая регрессия"
  4. Классификатор опорных векторов / Машины
  5. "Искусственная нейронная сеть"
  6. Деревья решений
  7. Древесные ансамбли: бэггинг, случайный лес и усиление

Рассматриваемые показатели производительности:

  1. Матрица неточности / специфичность / чувствительность:

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

Чувствительность / скорость TP / точность: способность классификатора определять положительные результаты зависит от чувствительности. Специфичность рассчитывается следующим образом: TP / (TP + FN).

Специфичность / коэффициент TN: эффективность классификатора по выявлению отрицательных результатов зависит от специфичности. Он определяется по формуле: TN / (TN + FP).

2. Кривая ROC:

ROC означает рабочие характеристики приемника. График ROC отображает скорость TP по оси y и скорость FP по оси x. ROC-анализ предоставляет инструменты для выбора возможных оптимальных моделей и исключения неоптимальных моделей независимо от (и до определения) контекста затрат или распределения классов. Классификаторы в верхнем левом углу графиков ROC предпочтительны, поскольку их чувствительность и специфичность высоки, поскольку классификатор, имеющий наивысшую чувствительность и специфичность, является лучшей моделью для этого набора данных. Чем больше площадь под кривой близка к 1, тем лучше алгоритм построения кривой ROC.

3. Оценка OOB и потеря журнала:

Ошибка вне пакета (OOB), в среднем для набора данных D, если имеется всего N выборок, 2N / 3 выборки будут независимыми и будут включены в методы ансамбля. Поэтому N / 3 образцов остаются нетронутыми, эти образцы затем можно использовать для тестирования и помочь избежать переобучения. Точность тестирования этих образцов называется оценкой OOB.

Логарифмические потери показывают, насколько близка вероятность предсказания к соответствующему фактическому / истинному значению (0 или 1 в случае двоичной классификации). Чем больше прогнозируемая вероятность отклоняется от фактического значения, тем выше значение логарифмических потерь. Мы использовали кросс-энтропию логарифмических потерь / двоичной кросс-энтропии для минимизации потерь в нашей нейронной сети.

Анализ результатов:

Модельные выступления:

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

1) Настройка гиперпараметров с использованием GridSearchCV для получения наилучших параметров. 2) Перекрестная проверка методом K-складки для проверки способности модели предсказывать новые данные, которые не использовались при ее оценке.

3) Регуляризация значительно снижает дисперсию модели без существенного увеличения ее смещения.

Вывод :

Все модели показали действительно хорошую точность тестирования. Однако чувствительность, специфичность, частота FP и частота FN были наиболее важными факторами при выборе оптимальной модели. Если рассматривать среднее значение специфичности и чувствительности, среднее значение почти для всех алгоритмов составило более 99%. Если мы рассмотрим скорость FP и скорость FN, классификатор случайного леса дал лучшие результаты с замечательной скоростью FP, равной 0, и скоростью FN, равной 0,003. Кроме того, для классификатора случайного леса среднее значение специфичности и чувствительности составило 0,9985, что является самым высоким показателем среди всех.

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

Ссылка на полный код и отчет проекта: https://github.com/ishdeep-10/Brain-Tumor-Classification.

Спасибо!