R语言中的非线性分类

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

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

Irise花儿

照片来自: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软件包中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中的elp专用于机器学习吗?

参加我的免费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的功能KLAR包

神经网络

神经网络(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)

详细了解mda软件包中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)

详细了解kernlab软件包中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功能。

总结

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

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


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

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

...只需几行R代码

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

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

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

跳过学术,就是结果。

点击了解更多

本文的版权归 林纾燊 所有,如需转载请联系作者。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

深度神经网络惊人的&#39;注意力&#39;能力-附论文解读

8920
来自专栏人工智能头条

用机器学习识别随机生成的C&C域名

46030
来自专栏机器学习之旅

python开发:特征工程代码模版(二)

正题开始: 这篇文章是入门级的特征处理的打包解决方案的python实现汇总,如果想get一些新鲜血液的朋友可以叉了,只是方便玩数据的人进行数据特征筛选的代码集...

20730
来自专栏达观数据

达观数据搜索引擎排序实践(上篇)

前言 随着互联网的深入发展,人类已然进入大数据时代。如何在浩瀚的数据海洋里高速有效的获取有价值的信息,正是促使大数据技术具备走向众多企业的潜力。搜索引擎作为获取...

50290
来自专栏Tencentcloud

交互式数字作品教程——专为艺术家的你!

这篇文章不是对循环神经网络的综合概述。它适用于没有任何机器学习背景的读者。其目的是向艺术家和设计师展示如何使用预先训练的神经网络——使用简单的Javascrip...

26560
来自专栏木东居士的专栏

机器学习经典开源数据集

"数据为王,使用相同机器学习算法,不同质量的数据能训练出不同效果的模型。本文将分享数据科学领域中经典的几个开源数据集。

65890
来自专栏程序员宝库

AI 玩微信小游戏跳一跳的正确姿势,Auto-Jump 算法详解

来源:肖泰洪 + 安捷 链接:zhuanlan.zhihu.com/p/32636329 ? 最近,微信小游戏跳一跳可以说是火遍了全国,从小孩子到大孩子仿佛每...

40450
来自专栏大数据挖掘DT机器学习

玩玩文本挖掘-wordcloud、主题模型与文本分类

本文主要介绍文本挖掘的常见方法,主要包括词频分析及wordcloud展现、主题模型、文本分类、分类评价等。分类主要包括无监督分类(系统聚类、KMeans...

41960
来自专栏大数据文摘

数据挖掘比赛通用框架

31880
来自专栏人工智能头条

递归神经网络不可思议的有效性(下)

17730

扫码关注云+社区

领取腾讯云代金券