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

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

Что мы будем строить. Мы будем строить модель обучения машины, которая предсказует ли … помеченные реагированием, Python, MachineLearning, Fastapi.

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

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

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

Вступление

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

Эти алгоритмы обучения машины были огромным повышением для борьбы с различными проблемами на нашей графике. Департамент людских ресурсов (HR) внутри организаций и предприятий определенно оценят эти улучшения. С моделью обучения машины обучалась, чтобы определить достойных кандидатов на работу, организация может избежать огромных ошибок и потерь.

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

Предпосылка

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

  • Питон
  • Анаконда

Что такое предсказательный алгоритм обучения машины?

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

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

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

Создание прогнозной модели обучения машины

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

Выбор среды развития Чтобы приступить к созданию модели машинного обучения, необходимо поместить соответствующую среду разработки. Как и до здания дома, хорошая среда, которая позволит вашему учебному коду машины требуется. Выбор среды разработки машинного обучения преобладается на вашем знакомстве с помощью языка программирования машин. Два самых популярных языка программирования для этого есть Python а также R .

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

Для руководства по установке посетите их Сайт и страница документации, или вы можете посетить мой Git Reppo Для процедуры установки.

Для настройки среды используйте следующие шаги:

1. Head to [Anaconda](https://www.anaconda.com/products/individual) Site
2. On the page download Anaconda for your operating system.
3. Install the Anaconda package to your computer.
4. Visit [https://downgit.github.io/](https://downgit.github.io/).
5. Paste `https://github.com/Daltonic/predictive/tree/main/model` in the field thereon and click on the download button.
6. Unzip **model.zip** and place contents in a unique folder. You should have something like this.

Вы должны иметь структуру, такую как один на изображении ниже.

Далее откройте Anaconda Navigator и обед Spyder от вариантов.

Вы должны иметь структуру, такую как один на изображении ниже.

Хорошо, давайте приступим к импортированию библиотек, которые нам понадобятся.

Импорт библиотек Есть разные виды библиотек Python, доступные в Интернете, и каждый имеет его использование и область применимости. Для того, что мы строим, нам просто нужно три библиотеки, а именно Пандас , Numpy и Scikit – учить Отказ

# Importing Libraries
import pandas as pd
import numpy as np

Теперь создайте папку под названием «Машина обучения» И внутри него создайте еще одну папку под названием «Прогноз» и сохранить код в редакторе Spyder в папке, которую вы в последний раз создали (прогнозируют) Отказ

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

Скопируйте файл с именем HiRable.CSV в пределах model.zip Файл к папке под названием «Прогноз» Отказ Смотрите изображение ниже для руководства.

После того, как у вас есть в папке с именем Predictive, продолжайте, вставляя фрагмент кода ниже в открытом редакторе Spyder.

# Importing Dataset
dataset = pd.read_csv('hirable.csv')

Здесь мы использовали библиотеку Pandas, чтобы прочитать наш файл CSV в программу. Проверяя переменную Explorer, вот как выглядит наш набор набора данных.

Нам не нужны все столбцы, нам нужны только следующие столбцы.

  • Пол
  • Степень
  • MBA_P.
  • потрясение
  • etest_p.
  • положение дел

Мы продолжим, делая некоторые очистки на набор данных.

Уборка набора данных Вставьте фрагмент кода ниже в редакторе кода SPYDER, чтобы ваши данные очистились.

# Cleaning up dataset
dataset = dataset.drop([
    "sl_no",
    "ssc_p",
    "ssc_b",
    "hsc_p",
    "hsc_b",
    "hsc_s",
    "specialisation",
    "salary",
    "degree_t"
], axis=1)
dataset = dataset.rename(columns = {'degree_p': 'bsc', 'mba_p': 'msc'})
dataset['gender'] = dataset.gender.replace(['M', 'F'], [1, 2])
dataset['workex'] = dataset.workex.replace(['Yes', 'No'], [1, 0])
dataset['status'] = dataset.status.replace(['Placed', 'Not Placed'], [1, 0])

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

BSC и MSC баллы не в формате, необходимом для этой модели. Мы хотим использовать CGPA Системы и не проценты для этих двух колонн. Давайте создадим функцию для снижения этих чисел к соответствующим значениям, используя фрагмент ниже.

# Downscalling Method For BSc & MSc grades
def downscale(score):
    return score/10/2
degrees = ['bsc', 'msc']
for col in degrees:
    dataset[col] = downscale(dataset[col])

Отличная работа, теперь давайте перейдем к отделению набора данных в зависимые и независимые переменные.

Разделение набора данных в переменные Это решающий этап в разработке прогнозирующей модели машинного обучения. Мы хотим посмотреть, как A, B, C, D могу рассказать нам о z Отказ Цель в разделении набора данных в X (n …) и Y Переменные состоит в том, чтобы увидеть отношения и как X (n …) влияет на исход Y.

В то время как Х Независимая переменная, содержащая одну или много столбцов (n …) данных, Y является независимой переменной, и она содержит один столбец, который является результатом.

Приведенное выше объяснение может быть реализовано в Python с использованием пакета PandaS, как видно в фрагменте кода ниже.

# Separating into dependent and independent variables
X = dataset.drop(['status'], axis=1)
y = dataset.status

Теперь у нас есть переменные X и Y, содержащие следующие столбцы.

  • Пол
  • ведомость
  • потрясение
  • etest_p.
  • MSC.

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

Разделение переменных в обучение и тестирование наборов Этот шаг очень важен, если мы должны построить и тренировать нашу модель, чтобы учиться на нашем наборе данных. Мы разделяем данные на наборы обучения и тестирования, чтобы наша модель может изучить статистику и модели. После этого он будет подвергнут тестированию, подавая его тестовым набором данных. Это скажет нам, что степень изучения нашей модели достигнута от набора тренировок. Мы будем использовать Scikit-Learn Library Splitter Метод для достижения этой цели. Сплит будет в соотношении 80% – 20% , где 80% набора данных будет для обучения и 20% будет для тестирования. Смотрите коды ниже.

# Splitting dataset into trainig and testing
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y,train_size=0.8,random_state=1)

Что здесь происходит, так это то, что keglenn. это целый модуль, и он содержит классы и методы. Мы используем rain_test_split Способ найден в model_selection Модуль для разделения наших переменных.

Подходящие переменные тренировок в алгоритм обучения машины Вот часть мы дышите нашу модель обучения машины. Мы используем алгоритм машинного обучения под названием « RandomForestlassifier » библиотеки Sklearn. Не объясняя большую часть математики за этим алгоритмом, этот алгоритм узнает на наборе тренировок и сможет выполнить классификацию и прогноз на основе интеллекта, который он собрал из учебного набора данных. Соблюдайте фрагмент кода ниже.

# Fitting with random forest model
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier(n_estimators=100)
model.fit(X_train,y_train)

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

Модель прогнозирования и тестирование Мы не можем быть уверены в выполнении нашей модели прогнозируемой машины, пока она не претерпела некоторое тестирование. Мы будем использовать классификация_Report и Метрики Метод Sklearn Библиотека Чтобы проверить доклад точности нашей модели сразу после того, как мы это проверили. Блок кода ниже реализует эту операцию.

# Prediction and testing
y_pred=model.predict(X_test)

# Report and Accuracy Score
from sklearn import metrics
from sklearn.metrics import classification_report
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
print("Classification Report RF:\n",classification_report(y_test,y_pred))

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

Наша модель имеет оценку точности около 86%. Это * * смог предсказать ** 76% экземпляры Действительно отрицательные значения переменная Y а также 92% экземпляры Действительно положительные ценности для переменной Y .

Мы также можем продолжать тестировать его на совершенно новый набор данных со следующими кодами.

# Model testing on new data
# [[gender, bsc, workex, etest_p, msc]]

# Sample 1
sample = np.array([[0, 2.9, 1, 78.50, 3.7]])
model.predict(sample)

# Sample 2
sample = np.array([[0, 2.9, 1, 78.50, 3.7]])
model.predict(sample)

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

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

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

Сохранение вашей модели Чтобы сохранить свою модель для использования в будущем, таких как развертывание на производственный сервер, мы должны сохранить модель в файл. Чтобы сохранить свою модель в файле, мы используем пакет под названием «Парил» Отказ Приведенный ниже фрагмент кода описывает, как это реализовать.

# Saving model
import pickle
pickle.dump(model, open('hireable.pkl', 'wb'))

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

loaded_model = pickle.load(open('hireable.pkl', 'rb'))
result = loaded_model.score(X_test, y_test)
print(result)

Поздравляю !!! Вы только что закончили один из серий из трех частей на создании прогнозирующего сайта машинного обучения с реагированием и питоном. Вы можете получить исходный код для этого проекта на моем GIT REPO здесь Отказ

Заключение

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

О автору

Евангелие Дарлингтон – отдаленный Полный стек Веб-разработчик, плодовитый с технологиями, такими как 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-one-model-development-117”