IIS_2023_1/orlov_artem_lab_4/readme.md
2023-12-02 13:10:02 +04:00

3.9 KiB
Raw Blame 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

Пример выходных данных: График рассеяния, на котором каждая точка представляет ресторан, окрашенный в соответствии с кластером, к которому он отнесен. Веб-страница, на которой отображается график.