# Лабораторная работа №6 Вариант 25. ## Задание Общее задание: Использовать нейронную сеть MLPClassifier, самостоятельно сформулировав задачу. Задача регрессии: Прогнозирования спроса на аренду велосипедов на основе данных о погоде и днях недели. Ссылка на набор даных: [kaggle-bike-sharing-system](https://www.kaggle.com/datasets/itssuru/bike-sharing-system-washington-dc/?select=train_bikes.csv) ## Содержание - [Лабораторная работа №6 Вариант 25.](#лабораторная-работа-6-вариант-25) - [Задание](#задание) - [Содержание](#содержание) - [Введение](#введение) - [Зависимости](#зависимости) - [Запуск приложения](#запуск-приложения) - [Описание кода](#описание-кода) - [Заключение](#заключение) - [Оценка работы моделей](#оценка-работы-моделей) - [На основе анализа можно сделать следующие выводы:](#на-основе-анализа-можно-сделать-следующие-выводы) - [Общий вывод](#общий-вывод) ## Введение Данный код демонстрирует, использует классификатор MLP (Многослойный Персептрон) из библиотеки scikit-learn для прогнозирования количества арендованных велосипедов на основе различных признаков. ## Зависимости Для работы этого приложения необходимы следующие библиотеки Python: - pandas - scikit-learn - NumPy - Matplotlib - seaborn Вы можете установить их с помощью pip: ```bash pip install numpy scikit-learn pandas matplotlib seaborn ``` ## Запуск приложения Чтобы запустить эту программу, выполните следующую команду: ```bash python lab6.py ``` Откроется визуализация данных и в консоль выведется резудьтат. ## Описание кода - Загрузка данных из файла train_bikes.csv с использованием библиотеки pandas. Пропущенные значения удаляются из набора данных. - Формирование бинарных признаков 'is_holiday' и 'is_workingday' на основе столбцов 'holiday' и 'workingday'. - Выбор признаков: 'weather', 'temp', 'humidity', 'is_holiday', 'is_workingday'. Целевая переменная: 'count'. - Разделение данных на обучающий, валидационный и тестовый наборы. ```python X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` - Создание и обучение модели MLPClassifier с использованием обучающего набора. ```python model = MLPClassifier( hidden_layer_sizes=(500,), activation='relu', solver='adam', alpha=0.01, max_iter=100, random_state=42, verbose=True, ) model.fit(X_train, y_train) ``` - Предсказание значений на тестовом наборе и оценка точности модели. ```python y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print(f'Оценка точности: {accuracy*100:.2f}%') ``` - Визуализация результатов с использованием библиотеки seaborn. ## Заключение ### Оценка работы моделей ```bash Оценка точности: 1.56% ``` ![](result.png) ### На основе анализа можно сделать следующие выводы: 1. Коэффициенты линейной регрессии: - Точность модели на тестовом наборе данных низкая (1.56%). Это может свидетельствовать о том, что выбранные признаки и параметры модели не достаточно хорошо описывают зависимость от целевой переменной. 2. Визуализация результатов позволяет визуально сравнить фактическое и предсказанное количество арендованных велосипедов. ### Общий вывод Модель MLPClassifier, основанная на погодных условиях и днях недели, демонстрирует низкую точность.