前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言中的非线性分类

R语言中的非线性分类

作者头像
良莉
修改2018-03-10 17:06:16
1.8K0
修改2018-03-10 17:06:16
举报
文章被收录于专栏:最新技术

你可以在这篇文章中找到8种在R语言中实现的非线性方法,每一种方法都做好了为你复制粘贴及修改你问题的准备。

本文中的所有方法都使用了数据集包中随R提供的虹膜花数据。这个数据集描述了虹膜花的测量结果,并且要求将每次的观察结果分类到三种花中的一种。

Irise花儿

照片来自:dottieg2007,部分权利保留

混合判别分析

这个配方演示了虹膜数据集上的MDA方法。

R中的混合判别分析:

代码语言:js
复制
# 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软件包中mda函数。

二次判别分析

QDA寻求最大化类间距离的属性之间的二次关系。

这个配方演示了虹膜数据集上的QDA方法。

R中的二次判别分析 :

代码语言:js
复制
# 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中的elp专用于机器学习吗?

参加我的免费14天电子邮件课程,并了解如何在您的项目中使用R(附带示例代码)。

点击注册,并获得免费的PDF电子书版本的课程。

现在开始你的免费迷你课程!

规范化判别分析

这个配方演示了虹膜数据集上的RDA方法。

R中的规范化判别分析 :

代码语言:js
复制
# 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的功能KLAR包

神经网络

神经网络(NN)是接收输入并将结果传递到传递的输出的计算单元的图形,这些单元被排序成层,以便将输入矢量的特征连接到输出矢量的特征。通过训练(如反向传播算法),神经网络可以被设计和训练来模拟数据中的基础关系。

这个配方演示了虹膜数据集上的一个神经网络。

R中的神经网络:

代码语言:js
复制
# 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中的柔性判别分析 :

代码语言:js
复制
# 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)

详细了解mda软件包中fda功能。

支持向量机

支持向量机(SVM)是一种在转换问题空间中使用点的方法,可以最佳地将类分为两组。对于多种类别的分类方法是以一对多的模式进行的,SVM(支持向量机)还支持通过建模功能与最小量的允许误差的回归。

这个配方演示了虹膜数据集上的SVM方法。

R中的支持向量机法:

代码语言:js
复制
# 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)

详细了解kernlab软件包中ksvm函数。

k-最近邻

k-最近邻(kNN)方法通过将相似案例定位到给定数据实例(使用相似性函数)并返回平均或大部分最相似的数据实例来做出预测。

这个配方演示了虹膜数据集上的kNN方法。

代码语言:js
复制
# 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中的朴素贝叶斯:

代码语言:js
复制
# 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功能。

总结

在这篇文章中,您使用虹膜花数据集找到了R中的非线性分类的8种方法。

每种方法都是通用的,可供您复制,粘贴和修改您自己的问题。


感觉在R中机器学习的过程不太顺利?

只需几分钟,开发你自己的模型

...只需几行R代码

在我的新电子书中找到方法:用R掌握机器学习

涵盖了自学教程端到端项目,如:加载数据、可视化、构建模型、调优等等...

最后把机器学习带到你自己的项目中去

跳过学术,就是结果。

点击了解更多

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 混合判别分析
  • 二次判别分析
    • 需要更多R中的elp专用于机器学习吗?
    • 规范化判别分析
    • 神经网络
    • 灵活的判别分析
    • 支持向量机
    • k-最近邻
    • 朴素贝叶斯
    • 总结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档