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

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

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

Зачем использовать Python?

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

Установка Анаконды

Anaconda — это самая популярная в мире платформа Python для обработки данных. Когда вы устанавливаете Python как ее часть, вы получаете установленные библиотеки, связанные с наукой о данных, такие как Pandas, Numpy, Matplotlib. , Sci-kit Learn, Jupyter Notebook и т. д. Установка Anaconda — это универсальный магазин для получения всех соответствующих библиотек, необходимых для вашей программы hello world. Вы можете установить Anaconda, посетив их сайт www.anaconda.com. После того, как Anaconda установлена ​​на вашем компьютере, вы готовы перейти к следующему шагу.

Или вы можете установить sci-kit Learn через pip из терминала или командной строки.

#command line or terminal 

>>> pip install sci-kit learn

Что такое scikit-learn?

Это библиотека Python, реализующая алгоритмы контролируемого и неконтролируемого обучения. Он имеет множество простых и эффективных инструментов для интеллектуального анализа данных и анализа данных. Поставляется под лицензией Open source, для коммерческого использования — BSD. Он построен на NumPy, SciPy и matplotlib. вам не нужно устанавливать scikit-learn, потому что Anaconda автоматически установила scikit-learn за вас. В программе hello world мы собираемся использовать алгоритм линейной регрессии, уже реализованный в scikit-learn.

Понимание линейной регрессии

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

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

  • Одна переменная, обозначенная x, рассматривается как независимая переменная.
  • Другая переменная, обозначенная y, считается зависимой переменной.

Линия может быть определена уравнением, и оно выглядит следующим образом: Y = MX + b,B – точка пересечения Y, M – наклон линии. Рассчитывается по формуле

Линейная регрессия использует уравнение линии Y = MX + b для прогнозирования значения.

Наша программа привет мир

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

Здесь 0 представляет мужчину, а 1представляет женщину.

Программа машинного обучения состоит из 4 основных шагов

  • Импорт scikit-learn
  • Загрузить набор данных
  • Обучать модель из набора данных
  • Используйте модель, чтобы сделать прогноз

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

#importing sklearn
import sklearn 
from  sklearn import linear_model
#load dataset
features = [[90,5.8],[85,6.1],[55,5.3],[65,5.4]] # weight and height
gender = [0,0,1,1] # 0 for males 1 for females
#train the model
model = linear_model.LinearRegression()
model.fit(features,gender)
acc = model.score(features,gender)
print("Accuracy: ", acc)
output: 
Accuracy: 0.945451113627784
#Here we will predict the gender of a person given the weight as 93kg and the height as 5.5inch
#make prediction
pred = model.predict([[93,5.5]])
print("Prediction: ", pred) 
output: 
Prediction:  [0.18307155]

Мы импортировали linear_model из sklearn, определили пол и признаки, создали модель линейной регрессии из linear_model, использовали модель для сопоставления двух переменных пола и признаков, а также определили точность с помощью оценки. функция.

Затем мы предсказали наши новые данные [93,5.5]93 кг и 5,5 дюйма,передав их в функцию predict. Прогноз вернулся как 0,18307155, что означает, что пол человека скорее мужской, поскольку значение ближе к 0, чем к 1.

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