IIS_2023_1/almukhammetov_bulat_lab_6/README.md
2023-11-30 10:03:47 +04:00

82 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Вариант 2
Задание:
Использовать нейронную сеть(четные варианты MLPRegressor, нечетные MLPClassifier)для данных из таблицы 1 по варианту, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо
она подходит для решения сформулированной вами задачи.
Данные:
Данный набор данных использовался во второй главе недавней книги Аурелиена Жерона "Практическое машинное обучение с помощью Scikit-Learn и TensorFlow". Он служит отличным введением в реализацию алгоритмов машинного обучения, потому что требует минимальной предварительной обработки данных, содержит легко понимаемый список переменных и находится в оптимальном размере, который не слишком мал и не слишком большой.
Данные содержат информацию о домах в определенном районе Калифорнии и некоторую сводную статистику на основе данных переписи 1990 года. Следует отметить, что данные не прошли предварительную очистку, и для них требуются некоторые этапы предварительной обработки. Столбцы включают в себя следующие переменные, их названия весьма наглядно описывают их суть:
долгота longitude
широта latitude
средний возраст жилья median_house_value
общее количество комнат total_rooms
общее количество спален total_bedrooms
население population
домохозяйства households
медианный доход median_income
Запуск:
Запустите файл lab6.py
Описание программы:
1. Загрузка данных:
- Программа начинается с загрузки данных из файла 'housing.csv' с использованием библиотеки pandas.
- Пропущенные значения в данных удаляются с помощью `dropna()`.
2. Выбор признаков и целевой переменной:
- Из загруженных данных выбираются признаки (features) и целевая переменная (target).
- В данном случае, признаки включают 'total_rooms', 'total_bedrooms', 'population', 'households', и 'median_income', а целевая переменная - 'median_house_value'.
3. Разделение данных:
- Данные разделяются на тренировочный и тестовый наборы с использованием `train_test_split`.
- В данной программе 90% данных используются для тренировки и 10% для тестирования.
4. Масштабирование признаков:
- Признаки и целевая переменная масштабируются с использованием `StandardScaler`, чтобы улучшить производительность нейронной сети.
5. Создание и обучение MLPRegressor:
- Создается модель MLPRegressor с заданными параметрами, такими как размеры скрытых слоев (hidden_layer_sizes), количество итераций (max_iter), и начальное состояние (random_state).
- Модель обучается на тренировочных данных с использованием `fit`.
6. Предсказания и оценка производительности:
- Модель делает предсказания на тестовых данных с использованием `predict`.
- Оцениваются различные метрики производительности, такие как среднеквадратичная ошибка (MSE), среднеабсолютное отклонение (MAE) и коэффициент детерминации (R^2).
7. Вывод результатов:
- Результаты оценки модели выводятся на экран, включая среднеквадратичную ошибку, среднеабсолютное отклонение и коэффициент детерминации.
Результаты:
![Alt text](image.png)
![Alt text](image-1.png)
Выводы:
1. Среднеквадратичная ошибка (MSE): 69877.11%
- Эта метрика измеряет среднеквадратичное отклонение предсказанных значений от фактических. Чем меньше значение MSE, тем лучше. В данном случае, значение 69877.11% ОГРОМНО, что может свидетельствовать о значительном разбросе между фактическими и предсказанными значениями.
2. Среднеабсолютное отклонение (MAE): 49654.91%
- MAE измеряет среднее абсолютное отклонение предсказанных значений от фактических. Аналогично, чем меньше значение MAE, тем лучше. Здесь значение 49654.91% также довольно больше.
3. Коэффициент детерминации (R^2): 64.58%
- R^2 измеряет, насколько хорошо модель соответствует вариации в данных. Значение 64.58% говорит о том, что модель объясняет 64.58% дисперсии в целевой переменной. Это можно считать средним результатом.
Интерпретация результатов:
- В данном случае, модель MLPRegressor, обученная на выбранных признаках, не показала высокую точность предсказания целевой переменной (median_house_value).
- Значения метрик (MSE, MAE, R^2) указывают на некоторую степень ошибки модели.
Общий вывод:
- В данной программе представленный MLPRegressor не дал оптимальных результатов. Дальнейшие исследования и настройка параметров могут потребоваться для улучшения точности предсказаний модели.