Ну, я не сомелье Майкла Скотта. Я мало знаю о качестве вина и о том, что делает его хорошим, но эта модель прогнозирования знает! Подмигивание. Подмигивание.
Модель прогнозирования использует Данные о качестве вина от Kaggle для прогнозирования качества вина. Каждому вину в этом наборе данных присваивается оценка качества от 0 до 10. Существует одиннадцать параметров, определяющих качество, а именно. Фиксированная кислотность, летучая кислотность, лимонная кислота, остаточный сахар, хлориды, свободный диоксид серы, общий диоксид серы, плотность, pH, сульфаты и спирт. Целью данного тематического исследования является определение наиболее характерных признаков хорошего качественного вина.
Импорт набора данных
Прежде всего, импортируйте необходимые библиотеки. Для этого тематического исследования были импортированы следующие библиотеки.
После импорта библиотек импортируйте и прочитайте набор данных.
Всего 1599 строк и 12 столбцов. Данные выглядят очень чистыми в первых пяти строках, но давайте проверим все пропущенные значения.
В данных нет пропущенных значений. Рассмотрим статистические характеристики данных.
Исследуйте переменные
Данные довольно чистые. Давайте подробнее изучим переменные, чтобы понять распределение переменных и определить факторы, влияющие на качество вина.
Теперь, чтобы лучше понять распределение, давайте преобразуем вывод в виде 3, 4, 5 и т. д. в двоичный вывод — «хорошо» или «плохо». Качество вина считается «хорошим», если оно имеет оценку 6 или выше, в противном случае оно будет помечено как плохое.
Теперь у нас есть две метки класса — хорошая и плохая. Всего насчитывается 719 вин «хорошего» качества и 640 вин «плохого».
Давайте построим и сравним все переменные вместе на подсюжете для скрипки.
Скрипичные графики аналогичны графикам с прямоугольниками и усами, но имеют повернутый график ядерной плотности с каждой стороны, который соответствует приблизительной частоте точек данных в каждой области.
Давайте теперь построим матрицу корреляции, используя метод корреляции Пирсона, чтобы увидеть корреляцию между этими переменными.
Подготовка данных для моделирования
Теперь, когда мы закончили одномерный и двумерный анализ, давайте начнем с подготовки данных для модели, прежде чем мы сможем разделить ее на тестовые и обучающие наборы данных. На этом этапе каждой метке присваивается уникальное целое число в алфавитном порядке с использованием LabelEncoder() из модуля предварительной обработки sci-kitlearns.
Затем мы разделили данные на наборы для обучения, проверки и тестирования, используя train_test_split из библиотеки sklearn. Отношение поезд-тест составляет 0,8.
Моделирование
Алгоритм классификации машинного обучения, используемый в этой модели прогнозирования, представляет собой алгоритм случайного леса, который использует ансамблевое обучение для объединения нескольких деревьев решений для предоставления решений. Полагаясь на модель «победы большинства», она снижает риск ошибки из-за отдельного дерева. К данным применяется RandomForestClassifier из модуля ансамбля sklearn. Ниже приведена функция проверки точности модели, за которой следует классификатор.
Модель вернула точность 100 % для набора обучающих данных, точность 73 % для набора тестов и точность проверки 76 %. Ниже приведена тепловая карта для того же:
Из приведенного выше анализа можно сделать вывод, что вина с более высоким уровнем алкоголя, более низкой летучей кислотностью, более высоким уровнем сульфатов и более высоким уровнем остаточного сахара соответствуют вину «хорошего» качества.
Profitez де Votre вин! Оставьте свои вопросы в комментариях ниже.