Что такое машинное обучение
Машинное обучение — это процесс получения данных в качестве входных данных, выявления тенденций и закономерностей в данных и предоставления программы в качестве выходных данных. Эта программа также или модель является представлением шаблонов, которые определяют данные.
Новые данные могут быть введены в качестве входных данных для этой модели/программы, и она сможет классифицировать их или делать прогнозы на их основе.
Зачем использовать 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.
Поздравляем, вы только что закончили писать свою первую программу машинного обучения!!!