R语言,自1993年诞生以来,已成为统计计算和图形绘制的得力工具。本文将探讨监督学习和无监督学习方法,特别关注K均值聚类技术,并展示如何在R中使用鸢尾花数据集实现K均值聚类,强调数据可视化在现代分析中的重要性以及聚类技术在各行业的实际应用。
R是一种主要用于数据分析的语言,它在1993年为统计和图形而创建。R语言以其分析友好性而闻名。其软件RStudio可以免费下载,为数据分析师提供了一个便捷的工作环境。
在当前时代,图像比数字或文字分析更能吸引人们的注意。图形和图表更易于理解和记忆。这就是R数据分析的重要性所在。客户更容易理解他们的成长/产品评估/分布的图形表示。因此,数据科学正在蓬勃发展,而R就是这样一种语言,它为绘图和图表提供了灵活性,因为它具有特定的函数和包来执行此类任务。RStudio是数据和可视化并行进行的软件,这对数据分析师来说非常有利。可以使用R中的各种函数创建不同类型的可视化,例如散点图、箱线图、条形图、折线图、折线图和热图。例如,可以使用hist()
函数绘制直方图,并通过提供参数如xlab()
(x标签)、color
和border
来自定义可视化。
数据分析中有两种类型的学习:监督学习和无监督学习。监督学习——标记数据作为机器学习的输入。回归、分类、决策树等都是监督学习方法。无监督学习——未标记数据输入到机器中以自行寻找模式。聚类是无监督学习方法之一,模型包括K均值、层次聚类、DBSCAN等。聚类的可视化表示以易于理解的格式显示数据,因为它根据相似性将大型数据集中的元素分组。这使得分析变得容易。无监督学习并不总是准确的,对于机器来说,这是一个复杂的过程,因为数据是未标记的。
聚类是将相似的项目或元素分组的行为,例如星团、葡萄串或网络群等。聚类的实际应用包括电子商务网站使用无监督学习根据他们的个人资料(如年龄、性别、消费和规律性)对客户进行分组。这对于营销和销售非常有用,因为它有助于为目标产品聚集目标受众。邮件中的垃圾邮件过滤等也是R中聚类的实际应用。
K均值是一种聚类算法,它根据数据点的特征反复将数据点分配给k组中的一组。它是一种基于质心的聚类方法。决定聚类的数量,随机选择彼此最远的聚类中心,使用欧几里得距离计算每个数据点与中心之间的距离,并将数据点分配给最近的中心的聚类。重复这个过程,直到聚类的中心不再变化,数据点保持在同一聚类中。
将使用R中的Cluster包处理内置的鸢尾花数据集。它有5列,分别是——萼片长度、萼片宽度、花瓣长度、花瓣宽度和物种。鸢尾花是一种花,在这个数据集中提到了它的三个物种:Setosa、Versicolor和Virginica。将根据它们的物种对鸢尾花进行聚类。加载数据集的代码如下:
data("iris")
head(iris) #仅显示前6行
下一步是将第3列和第4列分离成单独的对象x,因为使用的是无监督学习方法。移除标签,以便机器使用大量的花瓣长度和宽度列执行无监督聚类。
x=iris[,3:4] #仅使用花瓣长度和宽度列
head(x)
model=kmeans(x,3)
library(cluster)
clusplot(x,model$cluster)
clusplot(x,model$cluster,color=T,shade=T)
dataset <- read.csv("path.csv")
View(dataset)
attach(dataset)
kmeans()
、hclust()
或cluster::pam()
等函数。首先,加载数据,然后应用所选的聚类函数,最后可视化聚类以解释结果。