Рубрики
Без рубрики

Как построить прогнозируемый сайт обучения машины с React и Python (часть двух: API Development)

Что мы будем строить. Sequel до последней статьи, мы будем строить машинное обучение API … Помечено с Python, реагировать, машинировать, fastapi.

Как построить прогнозный сайт обучения машины с React и Python (3-х частей серии)

Что мы будем строить.

Sequel до последней статьи, мы будем строить API машинного обучения, который будет предсказать, будет ли кандидат или будет нанят на работу на основе его или ее полномочий. Это часть два из серии из трех частей, мы будем развиваться. Эта часть касается только разработки API машинного обучения. Если вы еще не читали часть одной из этой статьи, вы должны сделать это до этого.

Вступление

Создание модели обучения машины без механизма развертывания может быть расстраиваемым, если вы просто не хотите учиться. Но где находится красота в том, что если вы не можете развернуть его для всего мира, чтобы увидеть и использовать? Для вашей модели обучения машины, чтобы быть полезной, вам необходимо интегрировать ее с API. Вы не знаете, как построить машинное обучение API? Не волнуйтесь, в этом руководстве вы будете изучать пошаговое пошаговое, как разработать API прогнозирующего машины. Мы будем использовать модель обучения машины, разработанную в части одной из этой серии.

Предпосылка

Для течения в этом руководстве необходим хорошее понимание следующих инструментов.

  • Питон
  • Fast API.
  • Часть одна этого учебника

Что такое машинное обучение API

Мы ответим на этот вопрос, определив терминологии, используемые здесь, а также выполнение краткого покрытия преимуществ, связанных с API-адресами машинного обучения.

Что такое API API обозначает заявление Программирование интерфейс. Чтобы просто указать, это часть бэкэндской службы, которая позволяет двум или более компьютерам иметь связь.

Зачем комбинировать машинное обучение с API Это дает вашу модель платформе доступной и используемой миллионами людей по всему миру, иначе это будет просто кадром кода, сидящего на вашем компьютере. Возьмите эту аналогию, чтобы понять, почему вы должны объединить модель обучения машины с API.

Самолет нуждается в аэропорту, именно здесь он будет работать, а также добраться до миллионов пассажиров, которые часто посещают аэропорт. Без аэропорта самолет не может служить пассажирам. Это насколько важно API для модели обучения машине, без API модель обучения машины не может быть использована в Интернете.

Каковы преимущества API Преимущества практически неограниченные, следующие преимущества объединения модели обучения машины с API.

  • Это помогает людям получить доступ к вашей модели онлайн.
  • Это помогает другим приложениям использовать вашу модель.
  • Он приносит вам прибыль, предлагая его как услугу.
  • Это помогает вашей модели собирать больше данных от ваших пользователей.
  • Это помогает вашей модели собирать более диверсифицированные входы от людей в Интернете.

Эти и другие преимущества интеграции модели обучения машины с API.

Какие технологии могут достичь API машинного обучения Есть несколько языков программирования и рамки, которые могут помочь вам собрать модель машинного обучения с API. Это также зависит от вашего выбора языка программирования и структуры. Самые популярные рамки, которые могут помочь вам добиться гибрида модели машинного обучения, а API – Django, Flask и Fastapi. Все эти рамки строятся на языке программирования Python. Ради этого урока мы будем использовать Fastapi Framework, которая быстрая, легкая и простая в использовании.

Строительство API прогнозирующего машины

Это мясо этого урока, вы будете руководствоваться рукой, поэтому вы не пропустите ни один шаг. Ниже приведены процедуры, необходимые для построения API машинного обучения.

Выбор среды развития Этот шаг важен, инструменты, которые вы используете, либо поможет вам выполнить вашу задачу вовремя или расстраивать вас с трудностями. Для этого учебника мы будем использовать VSCode для всего кодирования. Это потому, что все необходимые инструменты, необходимые для разработки, так и для тестирования наших API, все в одном месте. Ниже приведены некоторые из причин, по которым мы выбираем VSCode для этой работы.

  • Поддержка Python IntelliSense, инструменты формата кода и основных моментов кода.
  • Поддержка расширения клиента Thunder для тестирования вашего API.
  • Поддержка интегрированного терминала с функциональностью расщепления.
  • Поддержка интегрированной версии контроля и многое другое.

Установка зависимостей разработки Как уже говорится, мы будем использовать Framework Framework, которая создана на языке программирования Python для комирования нашего API. Ниже приведены инструменты и библиотеки, которые мы установим для нашего развития.

  • Python 3.9.7.
  • Fastapi 0.68.1
  • Увикурн 0.15.0
  • Scikit-Surve 1.0
  • Thunder Client

Далее следуйте инструкциям ниже, чтобы они все установили на вашем компьютере.

  • Отправиться на VSCode сайт И загрузите соответствующую версию для вашей ОС.
  • Установите загруженный пакет на свой компьютер.
  • Голова до питона Сайт и скачать Python версия 3.9.7 или позже.
  • Установите пакет Python и добавьте путь к вашему Системные переменные Отказ
  • Перейти к каталогу из части одного из этого учебника, где у вас есть Модель папки Отказ
  • Создайте новый каталог под названием API бок о бок С модельной папкой она должна выглядеть так.
  • Открыть Папка API В VSCode и установите следующие библиотеки с помощью терминала.

    PIP Установить fastapi Пип Установите UVicorn [Standard] Установка PIP Scikit -учиться

  • На VSCode нажмите на расширения и установить Thunder Client Отказ

Поздравляю, вот все, что вам нужно сейчас, вот как ваш VSCode должен выглядеть, минус тематика.

Пожалуйста, убедитесь, что вы находитесь на API Рабочий каталог, еще просто измените каталог в него.

Импорт библиотек В пределах Папка API Создайте новый файл с именем “main.py” Здесь все логика программирования будет проживать. Как только вы создали этот файл, вставьте следующие фрагменты кода внутри него.

# Importing necessary libraries
import uvicorn
import pickle
from pydantic import BaseModel
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

Увикурн Библиотека используется для создания сервера, имеющего хост и порт вашего предпочтения для общения с нашими API через Http . запросы и ответы.

Мы используем Парил Библиотека для загрузки нашей обученной модели из части одной из этой серии.

Базомодель Класс от ** Pydantic Библиотека используется для определения наших параметров запроса API. Это важно для обеспечения того, чтобы мы отправляем правильные типы данных на нашу обученную модель обучения машины.

Fastapi. Библиотека помогает нам определить маршруты и функции, которые будет работать в маршруте при доступе клиентом. Это также помогает нам определить ответы, которые мы даем за запрос.

Наконец, Corsmiddleware помогает нам определить домены, которые получат ресурсы с нашего API. Это очень важная конфигурация в проекте Fastapi.

Инициализация быстрых API Следующий блок кода инициализирует Fastapi, Whitelist Roomins Roomins, которые могут получить доступ к нашим конечным точкам API и настраивают его в виде промежуточного программного обеспечения.

# Initializing the fast API server
app = FastAPI()
origins = [
    "http://localhost.tiangolo.com",
    "https://localhost.tiangolo.com",
    "http://localhost",
    "http://localhost:8080",
    "http://localhost:3000",
]
app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

Потрясающая работа, теперь давайте выдвинумся на загрузку нашей подготовленной модели обучения машины из части одного из этого руководства.

Загрузка обученной модели Скопировать и вставьте следующие коды на ваш VSCode main.py файл.

# Loading up the trained model
model = pickle.load(open('../model/hireable.pkl', 'rb'))

Использование библиотеки сортировки мы загружаем обученную модель в сочетании с Python Открыть функцию Отказ Примите к сведению путь к обученной модели сортировки, мы доступ к нему из Модель папки Отказ Хотя вы можете получить доступ к вашей обученной модели из любого каталога при условии, что указываете его в функции открытия Python. Однако ради этого учебника мы все должны следовать тому же руководству в стиле.

Определение типов ввода модели Опять же, скопируйте и вставьте коды ниже в свой редактор кода.

# Defining the model input types
class Candidate(BaseModel):
    gender: int
    bsc: float
    workex: int
    etest_p: float
    msc: float

База на классе Basemodel, мы определяем класс под названием «Кандидат» Отказ При этом мы поручим нашей модели прогнозирования моделей принять только типы данных, которые соответствуют спецификациям в классе кандидата. Это чрезвычайно помогает нам собрать правильные типы данных для нашей обученной модели машинного обучения и уменьшить ошибки.

Настройка домашнего маршрута Это маршрут, который определяет то, что мы отвечаем нашим пользователям, когда посещают домашний маршрут. Для этого проекта мы просто дадим им приветственное сообщение. Вставьте следующие коды в свой редактор кода.

# Setting up the home route
@app.get("/")
def read_root():
    return {"data": "Welcome to online employee hireability prediction model"}

Настройка прогнозирования Теперь давайте строим все эти коды вместе. Вставьте следующий код в свой редактор и позвольте мне объяснить.

# Setting up the prediction route
@app.post("/prediction/")
async def get_predict(data: Candidate):
    sample = [[
        data.gender,
        data.bsc,
        data.workex,
        data.etest_p,
        data.msc
    ]]
    hired = model.predict(sample).tolist()[0]
    return {
        "data": {
            'prediction': hired,
            'interpretation': 'Candidate can be hired.' if hired == 1 else 'Candidate can not be hired.'
        }
    }

Во-первых, когда пользователь отправляет почтовые данные в наше маршрут прогнозирования, мы используем класс кандидата, чтобы привязать его к корпусу запроса и извлекать основные данные, которые мы указаны в многомерный массив, называемый «Образец» Отказ Во-вторых, мы даем этот массив нашей моделью для прогнозирования и сохранения результата в другой переменной, называемой «Наемный» Отказ Наконец, мы отправляем ответ обратно на клиент с помощью «Кандидат может быть нанят» или «Кандидат не может быть нанята» база на прогноз нашей модели.

Настройка хоста сервера и порта Наконец, мы делаем конфигурацию быстрого сервера, указав библиотеку UVicorn запустить наш сервер на указанном номере хоста и порта всякий раз, когда main.py Файл выполнен. Смотрите коды ниже.

# Configuring the server host and port
if __name__ == '__main__':
    uvicorn.run(app, port=8080, host='0.0.0.0')

Поздравляем, вы только что построили API обучения машины. Теперь давайте сделаем быстрое тестирование, чтобы увидеть, все ли это хорошо.

Тестирование конечных точек API

Придерживайтесь следующих инструкций для проверки конечных точек API.

  • На интерфейсе VSCODE нажмите на Thunder Client.
  • Создайте новый запрос.
  • Выберите опцию Post.
  • Введите ” http://localhost: 8080/прогноз ” на адресной строке.
  • Перейти к вкладке тела и поставьте параметры ниже.
  • Наконец, нажмите на отправку.

У вас будет что-то подобное, если вы правильно сделали вышеуказанные шаги.

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

Ура, вы только что завершили два из серии из трех частей о том, как создать прогнозную модель обучения машины. В третьей и последней статье для этой серии вы узнаете, как потреблять эту API, используя inventjs. Вы можете увидеть полный исходный код на моем Git Reppo Отказ

Заключение

В заключение, подготавливая развертываемую модель обучения машины в прошлом была болью на шее, но больше. Вы видели, как легко сделать это с Fastapi Framework, созданной на языке программирования Python. Я считаю, что Fastapi является первым простым решением для разработчиков для преодоления разрыва между машинным обучением и веб-разработкой. В нашем следующем уроке мы увидим это в действии, подключив его с ReactJS.

О автору

Евангелие Дарлингтон – отдаленный Полный стек Веб-разработчик, плодовитый с технологиями, такими как Vuejs , Угловой , Rectjs и API Development Отказ Он принимает огромный интерес к разработке высококачественных и отзывчивых веб-приложений.

Евангелие Дарлингтон работает в настоящее время работает как Freelancer Разработка приложений и написание учебников которые учат другим разработчикам, как интегрировать программные продукты в свои проекты.

Он проводит свое свободное время Коучинг молодых людей о том, как быть успешным в жизни. Его увлечения включают изобретение новых рецептов, написание книги, написания песен и пения. Вы можете связаться со мной на Веб-сайт , LinkedIn , Twitter , Facebook или Github для любого обсуждения.

Как построить прогнозный сайт обучения машины с React и Python (3-х частей серии)

Оригинал: “https://dev.to/daltonic/how-to-build-a-predictive-machine-learning-site-with-react-and-python-part-two-api-development-11d2”