code-review-101-akorevial
Анализ Wine Quality — README
Информация и ссылки
В рамках задания выполнен полный анализ датасета Wine Quality и оформлен данный отчет в виде файла . Датасет загружается из открытого репозитория и основан на классическом датасете Wine Quality с физико‑химическими характеристиками вина и оценкой качества. [web:1][web:6]
Перед финальным был создан pull request, добавлены два рецензента, получены конкретные замечания, выполнен запрос правок (), затем после исправлений получено два подтверждения (). Ветка после одобрения была смержена в основную, запущены автоматические проверки, все проверки завершились успешно, и ветка с заданием была удалена.
Для заполнения (внести реальные ссылки в своем репозитории):
-
Рецензируемые PR одногруппников:
- PR 1: <ссылка-на-PR-1>
- PR 2: <ссылка-на-PR-2>
К сожалению выполнить задание с ревью кода моего одногруппника не могу, т.к. выполняю задание после прострочки и не нашел такого же бедолагу
- PR 1:
Студент и задание
- Студент: Сотник Тимур Вяеславович
- Группа: РИ-150912
- Номер задания: 8 — анализ датасета Wine Quality (Exploratory Data Analysis).
Цель задания — исследовать качества вина как регрессионную и классификационную задачу: изучить распределение целевой переменной, поведение признаков, взаимосвязь признаков с качеством и различия между категориями качества. [web:6] Работа оформлена в соответствии с требованиями: выполнены все 13 этапов (создание ветки, выполнение кода, добавление PNG‑файлов, подготовка полного README, адекватное рецензирование, исправление, финальный и успешные проверки).
Описание и цель анализа
Датасет Wine Quality включает физико‑химические признаки (например, кислотность, содержание сахара, сернистый ангидрид, pH, алкоголь) и целевой столбец с целочисленными оценками качества вина. [web:1][web:6] Основная цель анализа — понять, какие признаки сильнее всего связаны с качеством, как распределены значения признаков и чем отличаются вина с низким, средним и высоким качеством.
В коде реализованы следующие функции:
— загрузка датасетаload_data()и конвертация вmnemoraorg/wine-quality-6k4.pandas.DataFrame— поиск и анализ столбцаtarget_analysis(), вывод распределения и базовой статистики.quality— вычисление статистик по числовым признакам (среднее, стандартное отклонение, минимум, максимум).feature_statistics()— визуализация распределения качества (столбчатый график + KDE) с сохранением в PNG.visualize_target()— гистограммы признаков в сетке 2×4 с сохранением в PNG.visualize_features()— scatter plot‑ы «признак vs quality» (сетка 2×3) с сохранением в PNG.scatter_quality_relationships()— расчёт корреляций признаков сcorrelation_analysis()и построение горизонтального bar‑графика.quality— разбиение качества на категории (quality_categories_analysis(),Low,Medium), вывод распределения и построение boxplot‑ов для ключевых признаков.High
Выполненные шаги анализа
1. Загрузка данных
Функция использует библиотеку для работы с датасетами, загружает split датасета и преобразует его в . [web:1] После загрузки в консоль выводятся размер таблицы (количество строк и столбцов) и первые пять строк для визуальной проверки структуры и названий столбцов.
2. Анализ целевой переменной
Функция :
- Проверяет наличие столбца
, в противном случае выбрасывает понятную ошибку.quality - Выводит распределение оценок качества (
поvalue_counts()по возрастанию значения).quality - Считает основные статистики: среднее, медиану, стандартное отклонение, минимум и максимум.
Рекомендуется после запуска зафиксировать результаты (заполнить вручную по выводу программы):
- Диапазон качества:
,min_quality = <...>.max_quality = <...> - Среднее качество:
.mean_quality = <...> - Медиана качества:
.median_quality = <...>
3. Статистика признаков
Функция :
- Выбирает все числовые столбцы, исключая
.quality - Для каждого признака рассчитывает:
,mean,std,min.max - Возвращает и печатает компактную таблицу со статистикой по признакам.
Пример структуры таблицы (значения заменить на реальные после запуска кода):
| Признак | mean | std | min | max |
|---|---|---|---|---|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
4. Визуализация целевой переменной
Функция строит два графика в одном окне:
- Столбчатая диаграмма (countplot) распределения оценок
.quality - KDE‑график плотности значений
.quality
Сгенерированный рисунок сохраняется в файл:
.08_wine_quality_target_distribution.png
По этим графикам удобно увидеть, на каких оценках сосредоточено большинство образцов и есть ли редкие экстремальные значения.
5. Визуализация признаков
Функция :
- Берёт до восьми числовых признаков, исключая
.quality - Строит для каждого гистограмму (с возможной KDE‑кривой) в сетке 2×4.
- Сохраняет результат в файл
.08_wine_quality_features_distribution.png
На этом рисунке видно, какие признаки имеют скошенные распределения, какие ближе к нормальному, а также примерные диапазоны значений (например, для алкоголя, кислотности, сахара и т.д.). [web:6]
6. Связь признаков с качеством (scatter plot)
Функция :
- Выбирает первые шесть числовых признаков (без
).quality - Строит scatter plot‑ы «признак vs quality» в сетке 2×3.
- Сохраняет результат в файл
.08_wine_quality_vs_features.png
По этим графикам можно визуально оценить, есть ли линейные или нелинейные зависимости между конкретным признаком и оценкой качества, а также заметить выбросы и плотность точек в разных областях. [web:6]
7. Корреляции признаков с качеством
Функция :
- Строит матрицу корреляций по числовым признакам.
- Извлекает и сортирует корреляции каждого признака с
(исключая самуquality).quality - Печатает отсортированный список корреляций в консоль.
- Строит горизонтальный bar‑график и сохраняет его в файл
.08_wine_quality_correlation_bars.png
После запуска рекомендуется зафиксировать несколько ключевых корреляций (значения взять из вывода):
- Признак с наибольшей положительной корреляцией:
,<feature_1>.corr ≈ <...> - Признак с наибольшей отрицательной корреляцией:
,<feature_2>.corr ≈ <...>
8. Анализ категорий качества
Функция :
- Делит качество на категории, например:
(низкое),Low(среднее),Medium(высокое), черезHighпо диапазонам значенийpd.cut. [web:6]quality - Добавляет столбец
и печатает распределение наблюдений по категориям.quality_category - По модулю корреляции с
выбирает несколько топ‑признаков (например, 4) и строит для них boxplot‑ы по категориям качества.quality - Сохраняет рисунок в файл
.08_wine_quality_by_category.png
Рекомендуется после выполнения анализа записать:
- Доли объектов в категориях
,Low,Medium.High - Как меняются медианные значения ключевых признаков между категориями (например, растёт ли алкоголь от
кLow, как ведёт себя кислотность и т.п.). [web:6]High
Ключевые выводы (заполнить по результатам)
После запуска кода и просмотра графиков/таблиц стоит сформулировать минимум 3–5 конкретных вывода, например:
- Какой диапазон оценок качества встречается чаще всего.
- Какие признаки наиболее связаны с качеством по корреляции.
- Чем отличаются в среднем
,LowиMediumпо выбранным признакам.High - Есть ли признаки, которые практически не связаны с качеством и имеют почти нулевую корреляцию.
Файлы репозитория
В репозитории после выполнения задания должны оставаться только необходимые файлы, без лишних markdown‑файлов и временных данных:
-
Код:
— основной файл с реализацией всех функций анализа и точкой входаassignment.py.main()
-
Отчёт:
— текущий файл с полным описанием задания, хода решения, статистики и выводов.README.md
-
Графики (все в формате PNG, добавлены в коммиты):
— распределение целевой переменной08_wine_quality_target_distribution.png.quality— распределения признаков (гистограммы).08_wine_quality_features_distribution.png— scatter plot‑ы «признак vs quality».08_wine_quality_vs_features.png— горизонтальная диаграмма корреляций признаков с качеством.08_wine_quality_correlation_bars.png— boxplot‑ы ключевых признаков по категориям качества.08_wine_quality_by_category.png
Структура файлов соответствует требованиям задания: PNG‑графики присутствуют, содержит полноценный отчёт, лишние ‑файлы отсутствуют, код соответствует принятому стилю и проходит автоматические проверки.