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

Давайте погрузимся в код!!

  1. Сначала мы загружаем данные и печатаем первые 10 строк, используя df.head(10):

2. Проверить нулевые значения с помощью df.isnull().sum(), чтобы впоследствии можно было выполнить вменение отсутствующих значений.

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

4. Теперь мы выполняем кодирование меток, поскольку у нас не может быть текста в наших данных, если мы собираемся запускать на нем какую-либо модель. Затем разделите исходный кадр данных на x и y, где они содержат независимые и зависимые переменные соответственно:

5. Здесь мы выполняем логистическую регрессию, где мы тренируем тест, разделяем данные на набор данных поезда 75% и набор тестовых данных 25%:

Мы получили точность 97%

описание матрицы путаницы из кода:

  • 37 — True Positives (TP): когда фактическое значение положительное, а прогнозируемое также положительное.
  • 60 — Истинные отрицательные значения (TN): когда фактическое значение Отрицательно, а предсказание также Отрицательно.
  • 2 — ложные срабатывания (FP): фактическое значение отрицательное, а прогноз положительный. Также известна как ошибка типа 1.
  • 1 — Ложноотрицательные результаты (FN): когда фактическое значение является положительным, а прогноз — отрицательным. Также известна как ошибка типа 2.

6. Теперь мы выполняем K-Nearest Neighbours, здесь мы устанавливаем параметр настройки n_neighbors = 7:

Мы получили точность 91%.

7. Затем мы выполняем машину опорных векторов (SVM), где мы считаем, что test_size = 0,2, имеющий 80% данных обучения и 20% тестовых данных.

Мы получили точность 87,5%.

8. Теперь мы выполняем гауссовский наивный байесовский метод:

Мы получили точность 97%.

описание матрицы путаницы из кода:

  • 33 — Истинные положительные результаты (TP): когда фактическое значение положительное, а прогнозируемое также положительное.
  • 44 – Истинные отрицательные значения (TN): когда фактическое значение отрицательное, а предсказание также отрицательное.
  • 3 — Ложные срабатывания (FP): фактическое значение отрицательное, а прогноз положительный. Также известна как ошибка первого типа.
  • 0 — ложноотрицательные результаты (FN): фактическое значение положительное, а прогноз отрицательное. Также известна как ошибка типа 2.

9. Затем мы выполняем случайный лес, здесь мы обучаем тест, разделяем данные на 70% обучающих данных и 30% тестовых данных для лучшей производительности модели:

мы получили точность 97,5%.

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

Поэтому алгоритм случайного леса выигрывает гонку!

Для набора данных и кода:

Вышнавидоке/Прогнозирование заболевания с помощью различных алгоритмов обучения с учителем на главной · вышн214/вышнавидоке (github.com).