Нелинейная классификация на языке R

искусственный интеллект

В этой статье вы можете найти 8 нелинейных методов, реализованных в R, каждый из которых готов к копированию и вставке и изменению вашей задачи.

Все методы в этой статье используютданныеВ упаковкеснабженный Рданные цветка ириса набор. Этот набор данных описывает измерения цветов ириса и требуется для классификации каждого наблюдения в один из трех типов цветов.

Цветы ириса

Фото взято с сайта dottieg2007, некоторые права защищены.

Смешанный дискриминантный анализ

Этот рецепт демонстрирует метод MDA на наборе данных радужной оболочки.

Смешанный дискриминантный анализ в R:

# load the package
library(mda)
data(iris)
# fit model
fit <- mda(Species~., data=iris)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4])
# summarize accuracy
table(predictions, iris$Species)

нажмитеВыучить большев пакете мдаизmdaфункция.

квадратичный дискриминантный анализ

QDA ищет квадратичные отношения между атрибутами, которые максимизируют расстояние между классами.

Этот рецепт демонстрирует метод QDA на наборе данных радужной оболочки.

Квадратичный дискриминантный анализ в R:

# load the package
library(MASS)
data(iris)
# fit model
fit <- qda(Species~., data=iris)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4])$class
# summarize accuracy
table(predictions, iris$Species)

Нужна дополнительная помощь в R, посвященная машинному обучению?

Пройдите мой бесплатный 14-дневный курс электронной почты и узнайте, как использовать R (с примерами кода) в своих проектах.

Нажмите, чтобы зарегистрироваться и получить бесплатную электронную версию курса в формате PDF.

Начните свой бесплатный мини-курс прямо сейчас!

Нормализованный дискриминантный анализ

Этот рецепт демонстрирует метод RDA на наборе данных радужной оболочки.

Нормализованный дискриминантный анализ в R:

# load the package
library(klaR)
data(iris)
# fit model
fit <- rda(Species~., data=iris, gamma=0.05, lambda=0.01)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4])$class
# summarize accuracy
table(predictions, iris$Species)

Узнать больше оRDAфункцияКЛАР сумка.

Нейронные сети

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

Этот рецепт демонстрирует нейронную сеть на наборе данных радужной оболочки глаза.

Нейронные сети в R:

# load the package
library(nnet)
data(iris)
# fit model
fit <- nnet(Species~., data=iris, size=4, decay=0.0001, maxit=500)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="class")
# summarize accuracy
table(predictions, iris$Species)

Узнать ов пакете nnetизnnetфункционировать большеИнформация.

Гибкий дискриминантный анализ

Этот рецепт демонстрирует подход FDA к набору данных по радужной оболочке.

Гибкий дискриминантный анализ в R:

# load the package
library(mda)
data(iris)
# fit model
fit <- fda(Species~., data=iris)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4])
# summarize accuracy
table(predictions, iris$Species)

Выучить большев пакете мдаизfdaФункции.

Опорные векторные машины

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

Этот рецепт демонстрирует метод SVM для набора данных радужной оболочки.

Метод опорных векторов в R:

# load the package
library(kernlab)
data(iris)
# fit model
fit <- ksvm(Species~., data=iris)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="response")
# summarize accuracy
table(predictions, iris$Species)

Выучить большев пакете кернлабизksvmфункция.

k-ближайший сосед

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

Этот рецепт демонстрирует метод kNN на наборе данных радужной оболочки.

# load the package
library(caret)
data(iris)
# fit model
fit <- knn3(Species~., data=iris, k=5)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="class")
# summarize accuracy
table(predictions, iris$Species)

Выучить большепакет каретизknn3функция.

Наивный Байес

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

Этот рецепт демонстрирует наивный байесовский метод на наборе данных радужной оболочки глаза.

Наивный Байес в R:

# load the package
library(caret)
data(iris)
# fit model
fit <- knn3(Species~., data=iris, k=5)
# summarize the fit
summary(fit)
# make predictions
predictions <- predict(fit, iris[,1:4], type="class")
# summarize accuracy
table(predictions, iris$Species)

Выучить большепакет e1071изnaiveBayesФункции.

Суммировать

В этом посте вы нашли 8 методов нелинейной классификации в R с использованием набора данных цветка ириса.

Каждый метод является общим и позволяет копировать, вставлять и изменять собственные вопросы.


Чувствуете, что процесс машинного обучения в R идет неважно?

Разрабатывайте собственные модели за считанные минуты

...всего несколько строк кода R

Узнайте, как это сделать, в моей новой электронной книге: Mastering with Rмашинное обучение

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

Наконец-то внедрите машинное обучение в свои проекты

Пропустите академиков, вот результат.

Нажмите, чтобы узнать больше.