Поскольку Julia набирает популярность в сообществе Data Science и Machine Learning, я решил сделать простой проект, чтобы доказать, что переход с Python на Julia не так уж и сложен.

Что такое Рак?

Рак — это заболевание, при котором клетки в организме бесконтрольно разрастаются. За исключением рака кожи, рак молочной железы является наиболее распространенным видом рака у женщин в Соединенных Штатах. Смертность от рака молочной железы со временем снизилась, но остается второй ведущей причиной смерти от рака среди женщин в целом и ведущей причиной смерти от рака среди латиноамериканских женщин 1.

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

Кто подвергается большему риску?

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

Признаки и симптомы

Как правило, симптомы рака молочной железы включают:

  • ком груди или утолщение;
  • изменение размера, формы или внешнего вида груди;
  • ямочки, покраснение, изъязвление или другие изменения кожи;
  • изменение внешнего вида соска или изменение кожи вокруг соска (ареолы); и/или
  • патологические выделения из сосков. 2

Давайте поговорим о нашем наборе данных

Получить набор данных здесь

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

➢ радиус (среднее расстояние от центра до точек на периметре)
➢ текстура (стандартное отклонение значений шкалы серого)
➢ периметр
➢ площадь
➢ гладкость (локальное изменение в длинах радиуса)
➢ компактность (периметр² / площадь — 1,0)
➢ вогнутость (выраженность вогнутых участков контура)
➢ вогнутость точек (количество вогнутых участков контура)
➢ симметрия
➢ фрактальная размерность («приближение береговой линии» — 1)
➢ Диагноз: либо М (Злокачественный), либо В (Доброкачественный)

Так много столбцов, но все ли они важны?
мы можем выяснить это в следующем анализе!

Импорт важных модулей

Юлия поддерживает множество модулей Python, включая tensorflow!👀

using ScikitLearn
using Pandas
using Seaborn
ENV["COLUMNS"] = 1000;

В наборе данных был нулевой столбец, который пришлось удалить.

df = drop(df,columns = "Unnamed: 32" );

corr_mat = corr(df1)["diagnosis_M"];
print(corr_mat)

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

Важные / тесно связанные столбцы, которые можно рассматривать как функции:

➢RADIUS_MEAN 0.730029 *
➢ Deverimeter_mean 0.742636
➢AREA_MEAN 0.708984
➢ ➢ ➢ ➢


➢ ➢ > ➢площадь_худшая 0,733825
➢вогнутость_худшая 0,659610
➢вогнутая_точки_худшая 0,793566

Тепловая карта

Тепловая карта (или тепловая карта) – это метод визуализации данных, который показывает величину явления в виде цвета в двух измерениях.

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

Парный сюжет

Визуализация некоторых функций относительно друг друга в отношении диагностики:

Результаты моделей машинного обучения

Вывод

  • Модель со всеми полями в качестве признаков работает лучше, чем модель только с сильно коррелированными полями со всеми классификаторами, кроме дерева решений.
  • Все модели хорошо работают в выборочной модели, и только некоторые из них хорошо работают в полной модели.
  • AdaBoost, SVM и Random forest кажутся наиболее надежными алгоритмами для обучения модели, постоянно обеспечивая точность 99%-95% в обеих моделях.

Репозиторий Github: https://github.com/HarshitSati/Breast_cancer_Julia

Ссылки и дополнительная литература

  1. Источник: Отдел профилактики и контроля рака, Центры по контролю и профилактике заболеванийhttps://www.cdc.gov/cancer/breast/basic_info/index.html.
  2. Источник: ВОЗ
  3. Доктор Уильям Х. Вольберг, У. Ник Стрит, Олви Л. Мангасарян (1995). Репозиторий машинного обучения UCI[https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29] Университет Висконсина.