Целью данного исследования является прогнозирование качества вина на основе его физико-химических составляющих. В этом проекте набор данных о качестве красного вина был взят из Kaggle, но в основном он был загружен в репозиторий машинного обучения UCI https://archive.ics.uci.edu/ml/datasets/Wine+Quality. Этот набор данных содержит 1599 различных типов красного вина с 11 физико-химическими характеристиками, такими как содержание алкоголя, хлоридов, плотность, общий диоксид серы, свободный диоксид серы, остаточный сахар и pH. и 10. К этой задаче подошли с использованием алгоритмов классификации, таких алгоритмов, как логистическая регрессия, K-NN и Random Forest.
Индустрия красного вина всегда переживала экспоненциальный рост. В настоящее время компании используют сертификаты качества продукции для продвижения своей продукции. Однако это не только трудоемкий процесс, но и требующий оценки со стороны экспертов, что делает этот процесс очень дорогим. Цена красного вина всегда относится к тому, насколько оно хорошее, но зависит от абстрактной концепции дегустаторов, и их мнение подвержено большой изменчивости. Винные компании и индустрия исследуют новые технологии производства и продажи вина, чтобы поддержать этот рост.
Крупные компании в разных областях переходят на аналитику данных, машинное обучение и искусственный интеллект не только для снижения производственных затрат, но и для улучшения услуг и продуктов.
Теперь, когда мы в целом поговорили о проекте, давайте углубимся и рассмотрим каждый шаг в этом проекте.
Итак, приступим!
Исследовательский анализ данных
Первое, что я сделал после загрузки данных, это проверил, есть ли у нас нулевые значения или нет:
Оказывается, пропущенных значений нет.
Проблема теперь понятна, теперь мы знаем, что «качество» зависит от других переменных (сульфаты, спирт…)
Построим распределение зависимой переменной:
Теперь, когда у нас есть представление о нашей зависимой переменной, не хватает чего-то важного.
Мне нужно было выяснить, какие из этих физико-химических данных оказали большое влияние на качество. Корреляция была лучшим фактором, который у нас был.
Чтобы получить представление о том, что происходит, необходимо было построить тепловую карту:
«Алкоголь» — это самая характеристика, имеющая положительную корреляцию с «качеством», за ней следуют «сульфаты», если мы все еще говорим о положительной корреляции.
Однако «летучая кислотность» имеет вторую по величине корреляцию с «качеством», но коррелирует отрицательно. Таким образом, отношение между ними обратное.
Более того, чтобы подойти к этой проблеме категорично, нам пришлось разделить дискретные значения «качества» на 2 разные категории «хорошее» и «плохое».
Поэтому я ввел новую переменную под названием «рейтинг», основанную на «качестве»:
Но чтобы применить алгоритмы классификации, нам пришлось сопоставить «хорошие» и «плохие» экземпляры с бинарной формой с 1 и 0 соответственно:
После этого я решил сделать разные диаграммы для наиболее важных функций с «рейтингом»:
Все диаграммы имеют положительную связь между функциями и новой зависимой переменной, за исключением последнего графика, который представляет собой «летучую кислотность», потому что, как мы упоминали ранее, это важная переменная, но она имеет отрицательную корреляцию.
Моделирование
Логистическая регрессия:
Для логистической регрессии после того, как я превратил качество в хорошее и плохое (задача классификации), я удалил качество столбца и сохранил его модифицированную версию (рейтинг).
А затем я разделил набор данных между поездом и тестом и получил точность 73% на тестовых данных.
Я использовал масштабирование данных, но ничего особо не изменилось, вместо 73,3% я получил 73,5% с масштабированием данных.
Случайный лес с использованием пошагового выбора:
Решение этой задачи с помощью классификационных алгоритмов определенно дало нам лучшие результаты, чем регрессионные, а РФ дало лучшие результаты, чем логистическая регрессия.
Чтобы получить правильную точность, а не среднее значение, мы подгоняем модель к данным поезда, делаем прогноз по X_test и сравниваем прогнозируемый результат с y_test.
Мы получаем следующую точность с 5 признаками:
K-ближайшие соседи:
Со стандартизацией K-NN дал нам точность 72,5%.
Без стандартизации K-NN дал явно более низкую точность 62,7%.
Заключение
Для каждой классификации, используемой в нашей задаче, я проанализировал результаты и наблюдал, как они меняются в зависимости от различных переменных.
Исследование включает анализ классификаторов набора данных о красных винах. Результаты описываются в процентах от правильно классифицированной точности, отзыва, точности и F-показателя после применения логистической регрессии, случайного леса и K-NN.
Random Forest с выбором признаков показал более высокую точность 80%. Заметно выше, чем у логистической регрессии, которая показала только 73% точности, и у K-NN с масштабированием признаков, которое показало 72,5%.
Масштабирование функций не повлияет на логистическую регрессию, если мы используем общую логистическую регрессию.
Это повлияет на него только в том случае, если мы используем какую-то регуляризацию. (ЛАССО, КОНЬ).
С другой стороны, K-NN действительно чувствителен к масштабированию функций, потому что это алгоритм, основанный на расстоянии. Читать здесь для более подробного объяснения.
Подводя итог, я думаю, что древовидные алгоритмы будут работать лучше в таких сценариях, набор данных действительно мал.
«Алкоголь» оказывает наибольшее влияние на «качество», за ним следует «летучая кислотность» при смешивании с «общим диоксидом серы» и «спиртом».
Все остальные составляющие важны, но эти 2 определяют строгость оценки качества, поэтому я думаю, что винодельческие компании должны серьезно относиться к этим 2 характеристикам, а также следует принимать во внимание другие характеристики, поскольку они также важны, однако больше данных и, возможно, алгоритм нейронной сети необходим для получения определенной и очень точной модели.
Но все 5 функций помогли правильно сформировать нашу модель с точностью 80%, после чего мы остановились, потому что другие функции были менее важны для точности, и это стоило бы модели большего времени и ресурсов для обучения.
Спасибо за прочтение !