В этой статье я использовал некоторые методы классификации, такие как логистическая регрессия, дерево решений, SVM (SUPPORT VECTOR MACHINE linear), KNN (K NEAREST NEIGHBOR), случайные леса и ANN (ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ), чтобы предсказать класс для данных функций.

ПОТОК ИЗДЕЛИЯ

  1. Обзор
  2. Важные библиотеки и чтение файла
  3. Визуализация и предварительная обработка данных
  4. Разделение данных на обучающий набор и набор для тестирования
  5. Классификационные модели
  6. Анализ различных показателей классификации, таких как точность, точность, отзывчивость, оценка f1 и т. Д.
  7. Сравнение моделей и вывод лучшей модели

ОБЗОР



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

в нем 214 строк и 10 столбцов

Столбцы набора данных: -

Столбцы:

  • RI: показатель преломления
  • NA: натрий (единица измерения: весовые проценты в соответствующем оксиде, а также атрибуты 4–10).
  • Mg: магний
  • Al: алюминий
  • K: Калий
  • Ca: кальций
  • Ba: барий
  • Fe: железо
  • Тип стекла: 1 building_windows_float_processed - 2 building_windows_non_float_processed - 3 vehicle_windows_float_processed - 4 vehicle_windows_non_float_processed (нет в этой базе данных) - 5 контейнеров - 6 посуды - 7 фар

ВАЖНЫЕ БИБЛИОТЕКИ И ЧТЕНИЕ CSV-ФАЙЛА:

импортируйте следующие библиотеки для этой модели: -

Теперь давайте прочитаем наш csv файл (glass.csv)

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

КОРРЕЛЯЦИОННАЯ МАТРИЦА ДЛЯ НАБОРА ДАННЫХ (ВИЗУАЛИЗАЦИЯ ДАННЫХ):

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

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

РАЗДЕЛЕНИЕ ДАННЫХ НА ТРЕНИРОВОЧНЫЙ НАБОР И НАБОР ДЛЯ ТЕСТИРОВАНИЯ

Здесь мы разделили данные обучения и тестирования на 80% и 20%.

Входной обучающий набор, то есть x_train, имеет 171 строку и 9 столбцов, а входной тестовый набор, то есть x_test, имеет 43 строки и 9 столбцов, а выходной обучающий набор, то есть y_train имеет 171 строку и 1 столбец, а выходной набор тестирования имеет 43 строки и 1 столбец.

КЛАССИФИКАЦИОННЫЕ МОДЕЛИ

ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ:-

Итак, мы получили точность обучения и тестирования для модели логистической регрессии, теперь позволяет увидеть матрицу путаницы между y_pred_lg_test и y_test и такими показателями, как точность, отзыв, оценка f1.

Из приведенной выше матрицы путаницы, например, мы можем узнать, что существует 9 значений y_test как 1 и y_pred_lg_test как 1 и тому подобное для других значений и так далее ... и

Такие показатели, как точность, означают процент релевантных результатов. С другой стороны, отзыв относится к проценту общих релевантных результатов, правильно классифицированных вашим алгоритмом. здесь поддержка означает. Обратите внимание на столбец поддержки: в нем указано количество выборок для каждого класса, а традиционная F-мера или сбалансированная F-оценка (оценка f1) является средним гармоническим точности и полноты.

КНН (С К = 4): -

теперь матрица путаницы и метрики классификации для KNN: -

СВМ (ОПОРНАЯ ВЕКТОРНАЯ МАШИНА ЛИНЕЙНАЯ): -

Теперь матрица путаницы и метрики классификации для SVM: -

ДЕРЕВО РЕШЕНИЙ (КОРЗИНА): -

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

Матрица неточностей и показатели классификации для CART: -

СЛУЧАЙНАЯ КЛАССИФИКАЦИЯ ЛЕСОВ:

Матрица неточностей и показатели классификации для классификации случайного леса: -

ИНС (ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ): -

Теперь построим графики потерь и точности данных поездов и тестов.

СРАВНЕНИЕ МОДЕЛЕЙ

Теперь мы завершили все классификационные модели и теперь начинаем их сравнивать на основе оценки точности. это для 80% данных обучения и 20% данных тестирования.

Теперь мы визуализируем модели на основе точности 80% данных обучения и 20% данных тестирования.

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

ТЕПЕРЬ МЫ РАЗДЕЛИЛИ НАБОР ОБУЧЕНИЯ НА 60% И НАБОР ДЛЯ ТЕСТИРОВАНИЯ НА 40% И СРАВНИВАЕМ МОДЕЛИ

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

Здесь модель с высокой точностью тестирования также является случайным лесом с точностью тестирования 0,755814. но мы получили точность тестирования 0,790698 модели случайного леса, в которой обучающий набор и набор тестирования разделились на 80% и 20%, что лучше, чем 60% и 40%.

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

Теперь мы снова видим, что случайный лес имеет лучшую точность тестирования по сравнению с другими с точностью тестирования 0,769231, что лучше, чем разбиение (60–40), но не лучше, чем разбиение (80–20).

Итак, наконец, мы приходим к выводу, что

Сплит обучающего и тестового набора, классификатор, точность тестирования

1,80% -20%, случайный лес, 0,790698

2,70% -30%, случайный лес, 0,769231

3,60% -40%, случайный лес, 0,755814

Поэтому мы предпочитаем 1-ю модель со случайным лесом с точностью тестирования 0,790698, чтобы предсказать класс для заданных характеристик….

СПАСИБО,

БАЙПУРЕДДИ НИРАДЖ

Бакалавр компьютерных наук 3-й курс

Университет Беннета ..