МАШИННОЕ ОБУЧЕНИЕ С УПРАВЛЕНИЕМ — ЧАСТЬ 2

РЕГРЕССИЯ:

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

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

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

Простая линейная регрессия обозначается формулой:

y = β0 + β1 x.

ПРИМЕРЫ РЕГРЕССИИ В РЕАЛЬНОЙ ЖИЗНИ:

  1. Ставим точки между тяжелым и безрассудным вождением и частыми авариями за год.
  2. Прогнозирование продаж того или иного продукта в компании.
  3. Медицинские исследователи часто используют линейную регрессию для изучения связи между дозой лекарства и кровяным давлением пациентов.
  4. Прогнозы акций составляются путем изучения исторических данных о ценах на акции и тенденциях с целью выявления закономерностей. И многое другое.

ТАК ТОЧНО, ЧЕМ РЕГРЕССИЯ ОТЛИЧАЕТСЯ ОТ КЛАССИФИКАЦИИ?

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

Однако в случае РЕГРЕССИИ ситуация обратная; здесь значения, которые имеют значение, являются числовыми, а вывод является непрерывным, а не дискретным.

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

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

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

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

Мы много говорили о теории, давайте перейдем к практике, чтобы лучше понять вещи:

КАК ОСУЩЕСТВЛЯЕТСЯ РЕГРЕССИЯ ДЛЯ РЕШЕНИЯ ПРОБЛЕМ?

ПРОСТАЯ ЛИНЕЙНАЯ РЕГРЕССИЯ:

ПОСТАНОВКА ПРОБЛЕМЫ:

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

Некоторые термины, о которых следует помнить, пока мы занимаемся практической реализацией.

  1. PRICE — стоимость автомобиля.
  2. НАДЕЖНОСТЬ — промежуточный показатель для определения надежности транспортного средства.
  3. ПРОБЕГ — расход топлива автомобиля.
  4. TYPE — категориальная переменная определяет категорию, к которой принадлежит автомобиль.
  5. WEIGHT — вес автомобиля.
  6. ОБЪЕМ — рабочий объем двигателя автомобиля.
  7. HP — мощность транспортного средства, единица измерения его мощности.

ЧТЕНИЕ ДАННЫХ:

ВАЖНОСТЬ ЧТЕНИЯ ДАННЫХ:

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

getwd()

## Load the data
cars_data  <- read.csv(file = "cars.csv")

ПОНИМАНИЕ ДАННЫХ:

На этом этапе мы проверим количество наблюдений и атрибутов. Классифицируйте независимые и зависимые переменные.

ПРИМЕЧАНИЕ. В линейной регрессии зависимая переменная является непрерывной переменной.

Здесь мы будем прогнозировать зависимую переменную с одной независимой переменной.

ПРИМЕР: Мы будем рассматривать ЦЕНУ как зависимую переменную, а ОБЪЕМ автомобиля как независимую переменную.

dim(cars_data)

str(cars_data)

head(cars_data)

tail(cars_data)

summary(cars_data)

ПРЕОБРАЗОВАНИЕ ТИПА ДАННЫХ:

Значения атрибутов могут быть явно или неявно преобразованы. Пользователь не знает о неявных преобразованиях. SQL Server мгновенно преобразует данные из одного типа данных в другой. Например, при сравнении small-int с int, small-int неявно преобразуется в int перед выполнением сравнения.

#Convert "Reliability" to factor variable
cars_data[, "Reliability"] <- as.factor(as.character(cars_data[, "Reliability"]))

cars_data[, "Country"] <- as.factor(as.character(cars_data[, "Country"]))
cars_data[, "Type"] <- as.factor(as.character(cars_data[, "Type"]))

str(cars_data)

ОБРАЩАЕМЫЕ ЗНАЧЕНИЯ:

Чтобы у нас не было нулевых/пустых пространств, создающих хаос в нашей модели.

## Look for Missing Values
sum(is.na(cars_data))

colSums(is.na(cars_data))

#Install the DMwR2 package incase you haven't.
install.packages("DMwR2", dependencies=TRUE)

## Imputing missing values
library(DMwR2)
cars_data=centralImputation(cars_data)

sum(is.na(cars_data))

sum(is.na(cars_data))

ИССЛЕДОВАТЕЛЬСКИЙ АНАЛИЗ ДАННЫХ:

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

#Plot the Dependent and  Independent variables
# _*Scatter Plot*_ helps to view the relationship between two continuous variables
 
options(repr.plot.width = 10, repr.plot.height = 10)
par(mfrow = c(2,2)) # Splits the plotting pane 2*2
 
plot(cars_data$Weight, cars_data$Price, xlab = "Weight",
    ylab = "Price", main = "Weight vs Price")
 
plot(cars_data$Mileage, cars_data$Price, xlab = "Mileage",
    ylab = "Price", main = "Mileage vs Price")
 
plot(cars_data$Disp., cars_data$Price, xlab = "Displacement",
    ylab = "Price", main = "Displacement vs Price")
 
plot(cars_data$HP, cars_data$Price, xlab = "Horse Power",
    ylab = "Price", main = "Horse Power vs Price")

РАЗДЕЛЕНИЕ ДАННЫХ НА ОБУЧАЮЩИЕ И ПРОВЕРОЧНЫЕ НАБОРЫ:

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

1:100

sample(1:100,size=10)

cars_data[c(1,10),]

## Split row numbers into 2 sets
set.seed(1)
train_rows = sample(1:nrow(cars_data), size=0.7*nrow(cars_data))
validation_rows = setdiff(1:nrow(cars_data),train_rows)

train_rows

validation_rows

## Subset into Train and Validation sets
train_data <- cars_data[train_rows,]
validation_data <- cars_data[validation_rows,]

## View the dimensions of the data
dim(cars_data)
dim(train_data)
dim(validation_data)

ДАВАЙТЕ ПОСТРОИМ МОДЕЛЬ СЕЙЧАС:

names(train_data)

# lm function is used to fit linear models
LinReg = lm(Price ~ Disp., data = train_data)

## Summary of the linear model
summary(LinReg)

ГИТХАБ ГИСТ ❤️

Если вы хотите запустить код и интерпретировать результаты:

2. МНОЖЕСТВЕННАЯ ЛИНЕЙНАЯ РЕГРЕССИЯ:

Как мы видели в простой линейной регрессии, вычисления в простой линейной регрессии заключаются в вычислении расстояния между зависимой переменной «Y» и независимой переменной «X».

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

Множественная линейная регрессия обозначается формулой:

ОБОЗНАЧЕНИЯ:

β0= постоянный член

β1 и βP = независимая переменная

ИНТЕРЕСНАЯ ИНФОРМАЦИЯ:

Мы используем термин «ЛИНЕЙНАЯ» в множественной линейной регрессии, потому что мы всегда считаем, что «Y» напрямую связано с линейной комбинацией объясняющей переменной «P», когда мы используем регрессию.

РЕАЛЬНЫЕ ПРИМЕРЫ, ГДЕ МЫ ИСПОЛЬЗУЕМ МНОЖЕСТВЕННУЮ ЛИНЕЙНУЮ РЕГРЕССИИ:

  1. Попытка спрогнозировать заработок человека на основе множества социально-демографических переменных.
  2. Попытка спрогнозировать общую успешность оценивания учащихся уровня «А» на основе значений набора результатов экзаменов в диапазоне от 16.
  3. Попытка рассчитать систолическое или диастолическое артериальное давление на основе социально-экономических факторов и факторов образа жизни (занятость, употребление алкоголя, курение, возраст и т. д.).

ДАВАЙТЕ ПОСМОТРИМ НА ПРАКТИЧЕСКУЮ РЕАЛИЗАЦИЮ НЕКОТОРЫХ ПРИМЕРОВ, ЧТОБЫ ПРОЯСНИТЬ ВСЕ:

3. ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ:

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

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

Что касается типов логистической регрессии, то в ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ есть три основных подтипа:

1. БИНАРНАЯ ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ:

Когда мы думаем о бинарной логистической регрессии, первое и единственное, что приходит на ум, это 0 и 1 (двоичные числа), и это именно то, что есть. Ответ имеет два возможных исхода: 0 или 1.

Это наиболее распространенный из трех подходов.

2. ПОЛИНОМИАЛЬНАЯ ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ:

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

ПРИМЕР. Если Netflix хочет классифицировать десять самых просматриваемых шоу в ноябре, логистическая регрессия поможет Netflix определить время просмотра каждого шоу в определенной области или стране. Затем Netflix может начать маркетинг, рекламируя первую десятку сериалов с наибольшим количеством часов просмотра.

3. ПОРЯДКОВАЯ ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ:

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

ПРИМЕР. Университеты выставляют оценки на основе оценок от A до D.

РЕАЛИЗАЦИЯ НА ПРАКТИКЕ ПУТЕМ ПОНИМАНИЯ ПРИМЕРА:

БЫЛО УДОВОЛЬСТВИЕ ИЗУЧЕНИЕ РЕГРЕССИИ? ПОТОМУ ЧТО НАМ ПОНРАВИЛОСЬ ПИСАТЬ ДЛЯ ВАС, РЕБЯТА!

СЛЕДУЙТЕ ЗА НАМИ, ЧТОБЫ УЗНАТЬ БЛОГИ И СТАТЬИ О НАУКАХ О ДАННЫХ: 💙

LINKEDIN: https://www.linkedin.com/company/dsmcs/

INSTAGRAM: https://www.instagram.com/datasciencemeetscybersecurity/?hl=en

GITHUB: https://github.com/Vidhi1290

TWITTER: https://twitter.com/VidhiWaghela

СРЕДНИЙ: https://medium.com/@datasciencemeetscybersecurity-

ВЕБ-САЙТ: https://www.datasciencemeetscybersecurity.com/

— Team Data Science встречается с кибербезопасностью ❤️💙