IIS_2023_1/orlov_artem_lab_3/readme.md
2023-11-22 21:28:17 +04:00

4.3 KiB
Raw Blame History

Общее задание: Решите с помощью библиотечной реализации дерева решений задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету «Методы искусственного интеллекта» на 99% ваших данных. Проверьте работу модели на оставшемся проценте, сделайте вывод.

Задание по вариантам: Тема: Анализ данных 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

Задача для древа решений: Классификация ресторанов на хорошие и плохие

Признаки: Address, StarRating, Style, NumberOfReviews

Целевая переменная: StarRating

Запуск приложения: запуск файла app.py

Использованные технологии: Flask: Микрофреймворк для создания веб-приложений на языке Python. В данном коде Flask используется для обработки HTTP-запросов и отображения веб-страниц.

Pandas: Библиотека для анализа данных, используется для работы с табличными данными. В коде Pandas используется для создания DataFrame и обработки данных.

Scikit-learn: Библиотека для машинного обучения. В данном коде Scikit-learn используется для обучения модели классификации (RandomForestClassifier) на основе данных о ресторанах.

HTML и Jinja2: HTML используется для создания структуры веб-страницы, а Jinja2 — для вставки динамических данных в HTML-шаблоны. В коде HTML и Jinja2 используются для отображения формы ввода данных и вывода результата предсказания.

Numpy: Библиотека для работы с массивами данных. В коде Numpy используется для работы с массивами при вычислении важности признаков.

RandomForestClassifier: Алгоритм машинного обучения, использующий ансамбль деревьев решений для задач классификации. В данном коде этот классификатор обучается на данных о ресторанах и используется для предсказания, является ли ресторан хорошим или плохим на основе введенных пользователем данных.

Описание работы программы: Данные о ресторанах загружаются в Pandas DataFrame.

Создаются бинарные признаки для стилей ресторанов и закодированы адреса.

Модель RandomForestClassifier обучается на этих данных.

Flask запускает веб-сервер.

Пользователь может ввести данные о ресторане через веб-страницу.

Введенные данные подаются на вход модели, и результат (хороший или плохой ресторан) отображается на веб-странице, а также выводится точность модели.

Пример входных данных: Данные из файлов "top_240_restaurants_recommended_in_los_angeles_2.csv" Address: 8701 Beverly Blvd West Hollywood, CA 90048 Style: American (New), Cocktail Bars NumberOfReviews: 2672

Пример выходных данных: результат классификации, точность модели, важность признаков.

Ресторан классифицирован как: Хороший