3.9 KiB
Общее задание: Использовать метод кластеризации к данным из курсовой работы, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо он подходит для решения сформулированной вами задачи.
Задание по вариантам: Тема: Анализ данных 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
Пример выходных данных: График рассеяния, на котором каждая точка представляет ресторан, окрашенный в соответствии с кластером, к которому он отнесен. Веб-страница, на которой отображается график.