/
urfu_itis_limits
/
code-review-101-sofiet
Обзор
Документация
Войти
/
urfu_itis_limits
/
code-review-101-sofiet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
scripts/01_iris_template.py
109 строк
4 KB
GitHub Actions
🔄 Auto-generate documentation and update files
20 ноя 2025, 11:13
20 ноя 2025, 11:13
f3b7429
Код
Авторство
О чём код?
""" Задание 1: Анализ датасета Iris - ШАБЛОН Цель: Загрузить датасет Iris, провести анализ целевой переменной и признаков ЗАДАЧИ: 1. Загрузить данные в функции load_data() 2. Вывести информацию о целевой переменной в target_analysis() 3. Вычислить статистику признаков в feature_statistics() 4. Создать графики распределения целевой переменной в visualize_target() 5. Создать графики распределения признаков в visualize_features() 6. Создать графики признаков по видам цветков в features_by_target() 7. Вычислить матрицу корреляции в correlation_analysis() """ import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.datasets import load_iris # Установите русский язык для графиков plt.rcParams['font.sans-serif'] = ['DejaVu Sans'] plt.rcParams['axes.unicode_minus'] = False def load_data(): """Загрузить датасет Iris и конвертировать в DataFrame""" # TODO: Загрузить данные с помощью load_iris() # TODO: Создать DataFrame с признаками и целевой переменной # TODO: Заменить числовые метки на названия видов pass def target_analysis(df): """Анализ целевой переменной (видов цветков)""" # TODO: Вывести распределение видов цветков # TODO: Вывести процент от общего количества pass def feature_statistics(df): """Вычислить статистику по признакам""" # TODO: Для каждого числового признака вычислить: # - Среднее, медиану, стандартное отклонение # - Минимум, максимум # - Квартили (25%, 50%, 75%) pass def visualize_target(df): """Визуализировать распределение целевой переменной""" # TODO: Создать столбчатую диаграмму распределения видов # TODO: Создать круговую диаграмму с процентами # TODO: Сохранить как 01_iris_target_distribution.png pass def visualize_features(df): """Визуализировать распределение признаков""" # TODO: Для каждого числового признака создать гистограмму # TODO: Расположить 4 графика в сетке 2x2 # TODO: Сохранить как 01_iris_features_distribution.png pass def features_by_target(df): """Визуализировать признаки в разрезе целевой переменной""" # TODO: Для каждого признака создать гистограмму с наложением для каждого вида # TODO: Использовать разные цвета для каждого вида # TODO: Сохранить как 01_iris_features_by_species.png pass def correlation_analysis(df): """Анализ корреляций между признаками""" # TODO: Вычислить матрицу корреляции для числовых признаков # TODO: Вывести матрицу корреляции # TODO: Создать heatmap матрицы корреляции # TODO: Сохранить как 01_iris_correlation_matrix.png pass def main(): """Главная функция""" print("=" * 60) print("ЗАДАНИЕ 1: EXPLORATORY DATA ANALYSIS - IRIS DATASET") print("=" * 60) df = load_data() print(f"\nДатасет загружен. Размер: {df.shape}") print("\nПервые 5 строк:") print(df.head()) target_analysis(df) feature_statistics(df) visualize_target(df) visualize_features(df) features_by_target(df) correlation_analysis(df) print("\n" + "=" * 60) print("Анализ завершен!") print("=" * 60) if __name__ == "__main__": main() # Последнее обновление: 2025-11-20 08:13:09