IIS_2023_1/orlov_artem_lab_4/readme.md

43 lines
3.9 KiB
Markdown
Raw Normal View History

Общее задание:
Использовать метод кластеризации к данным из курсовой работы, самостоятельно сформулировав задачу.
Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи.
Задание по вариантам:
Тема: Анализ данных Top 240 Recommended Restaurants in L.A. 2023
Ссылка на датасет:
https://www.kaggle.com/datasets/lorentzyeung/top-240-recommended-restaurants-in-la-2023?resource=download&select=top+240+restaurants+recommanded+in+los+angeles+2.csv
Задача для кластарезации: кластеризация ресторанов по их мировому рейтингу, звездному рейтингу, количеству отзывов и стилю
Запуск приложения: запуск файла app.py
Использованные технологии:
Flask: Веб-фреймворк для создания веб-приложений на Python.
pandas: Библиотека для работы с данными, предоставляющая структуры данных и инструменты анализа.
scikit-learn: Библиотека для машинного обучения в Python, включающая реализацию t-SNE и k-средних.
matplotlib: Библиотека для создания графиков и визуализации данных.
BytesIO: Инструмент для работы с байтовыми данными как с файлом в памяти.
base64: Кодирование и декодирование данных в формате base64.
Описание работы программы:
Чтение данных: Данные о ресторанах загружаются из CSV-файла.
Кодирование категориальных данных: Столбец 'Style' кодируется числовыми значениями с использованием LabelEncoder.
Выбор данных для кластеризации: Выбираются нужные столбцы для анализа и кластеризации ('Rank', 'StarRating', 'NumberOfReviews', 'Style_encoded').
t-SNE для уменьшения размерности: Применяется алгоритм t-SNE для уменьшения размерности данных до двух компонент.
KMeans для кластеризации: Применяется алгоритм k-средних для кластеризации данных.
Визуализация результатов: Результаты кластеризации отображаются на графике рассеяния.
Встраивание графика в HTML: График сохраняется в формате PNG и встраивается в HTML как изображение в формате base64.
Отправка результатов веб-приложению: Результаты передаются веб-приложению для отображения.
Пример входных данных:
Данные из файлов "top_240_restaurants_recommended_in_los_angeles_2.csv"
Rank,StarRating,NumberOfReviews,Style
1,4.4,2672,American (New)
2,4.3,1701,Cocktail Bars; Gastropubs
3,4.2,2557,Latin American; Korean; Noodles
Пример выходных данных:
График рассеяния, на котором каждая точка представляет ресторан, окрашенный в соответствии с кластером, к которому он отнесен.
Веб-страница, на которой отображается график.