53 lines
4.3 KiB
Markdown
53 lines
4.3 KiB
Markdown
|
Общее задание:
|
|||
|
Решите с помощью библиотечной реализации дерева решений задачу из лабораторной работы «Веб-сервис «Дерево решений» по предмету
|
|||
|
«Методы искусственного интеллекта» на 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
|
|||
|
|
|||
|
Пример выходных данных:
|
|||
|
результат классификации, точность модели, важность признаков.
|
|||
|
|
|||
|
Ресторан классифицирован как: Хороший
|