当前位置: 首页 > news >正文

企业网站 报价百度在线使用网页版

企业网站 报价,百度在线使用网页版,网站建设图片qq群,网站设计公司有哪些轮廓系数越大,表示簇内实例之间紧凑,簇间距离大,这正是聚类的标准概念。 簇内的样本应该尽可能相似。不同簇之间应该尽可能不相似。 目的:鸢尾花数据进行kmeans聚类,最佳聚类个数是多少? plot(iris[,1:4…

轮廓系数越大,表示簇内实例之间紧凑,簇间距离大,这正是聚类的标准概念。

  • 簇内的样本应该尽可能相似。
  • 不同簇之间应该尽可能不相似。

目的:鸢尾花数据进行kmeans聚类,最佳聚类个数是多少?

plot(iris[,1:4], col=iris$Species)
在这里插入图片描述

1. 标准化很重要

假设已经知道最佳是3类,

  • 使用原始数据做kmeans,和原始标签不一致的很多。
  • 如果做了标准化,kmeans的分类结果和原始标签一模一样。

(1). raw dat (错了好多)

dat=iris[, 1:4]
rownames(dat) = paste0("obs", 1:nrow(dat))
dat[1:3,]km_model <- kmeans( dat, centers = 3)# 获取分类结果
predictions <- km_model$cluster
table(predictions)dat$origin=iris$Species
dat$pred=predictionstable(dat$origin, dat$pred)
#           1  2  3
#setosa      0  0 50
#versicolor 48  2  0
#virginica  14 36  0plot(dat$Sepal.Length, dat$Sepal.Width, col=dat$origin, pch=19)
plot(dat$Sepal.Length, dat$Sepal.Width, col=dat$pred, pch=19)

(2). normalized dat (几乎全对)

dat=iris[, 1:4]
rownames(dat) = paste0("obs", 1:nrow(dat))
dat[1:3,]dat=apply(dat, 1, function(x){x/sum(x) * 1e4
}) |> t()  |> as.data.frame()
head(dat)# 行作为观测值
km_model <- kmeans( dat, centers = 3)# 获取分类结果
predictions <- km_model$cluster
table(predictions)dat$origin=iris$Species
dat$pred=predictionstable(dat$origin, dat$pred)
#             1  2  3
#setosa     50  0  0
#versicolor  0 45  5
#virginica   0  0 50

2. 最佳分类数

(0) 预处理

dat=iris[, 1:4]
rownames(dat) = paste0("obs", 1:nrow(dat))
dat[1:3,]dat=apply(dat, 1, function(x){x/sum(x) * 1e4
}) |> t()  |> as.data.frame()
head(dat)

(1) factoextra - silhouette: n=2

library(factoextra)
tmp = factoextra::fviz_nbclust( dat, kmeans, method = "silhouette")
#str(tmp)
tmp #图# fviz_nbclust(dat, kmeans, method = "silhouette", k.max = 20)

在这里插入图片描述

(2) 碎石图: n=2

# 在一个循环中进行15次的kmeans聚类分析
{
totalwSS=vector(mode = "numeric", 15)
for (i in 1:15){t1= kmeans(dat, i)totalwSS[i] <- t1$tot.withinss
}
# 聚类碎石图 - 使用plot函数绘制total_wss与no-of-clusters的数值。
plot(x=1:15,                         # x= 类数量, 1 to 15totalwSS,                      #每个类的total_wss值col="navy", lwd=2,type="b"                       # 绘制两点,并将它们连接起来
)
}

在这里插入图片描述

(3) silhouette 画图: n=2?

逐个画:

# 逐个画轮廓系数
library(cluster)
dis = dist(dat) #行之间的距离
#
n=3
kclu <- kmeans(dat, centers = 3, nstart=25)
kclu.sil=sortSilhouette( silhouette(kclu$cluster, dist = dis) )
plot(kclu.sil, col =1:n, #c("red", "orange", "blue"), main="")#
n=4
#library(cluster)
#dis = dist(dat) #行之间的距离
kclu <- kmeans(dat, centers = n, nstart=25)
kclu.sil=sortSilhouette( silhouette(kclu$cluster, dist = dis) )
plot(kclu.sil, col =1:n, # c("red", "orange", "blue"), main="")
#
#
n=8
#library(cluster)
#dis = dist(dat) #行之间的距离
kclu <- kmeans(dat, centers = n, nstart=25)
kclu.sil=sortSilhouette( silhouette(kclu$cluster, dist = dis) )
plot(kclu.sil, col =1:n, # c("red", "orange", "blue"), main="")
#

在这里插入图片描述

批量计算:

silhouette_score <- function(k){km <- kmeans(dat, centers = k, nstart=25)ss <- silhouette(km$cluster, dist(dat))mean(ss[, 3])
}
k <- 2:15
avg_sil <- sapply(k, silhouette_score)
plot(k, avg_sil, type='b',xlab='Number of clusters', ylab='Average Silhouette Scores', frame=FALSE)

在这里插入图片描述

最大是2,其次是3类。

根据本文图1,忽略颜色,只看数值分布,确实最佳是2类。

用标准化后的数据呢?
plot(dat, col=iris$Species, main="Normalized data")
在这里插入图片描述

plot(dat,main="Normalized data")

结论不变:如果忽略颜色,依旧是很清晰的2类。
在这里插入图片描述

(4) pam 是一种更稳定的 kmeans

Partitioning Around Medoids:
Partitioning (clustering) of the data into k clusters “around medoids”, a more robust version of K-means.

# 最佳分类数:
Ks=sapply(2:15, function(i){summary(silhouette(pam(dat, k=i)))$avg.width
})
plot(2:15,Ks,xlab="k",ylab="av. silhouette",type="b", pch=19)效果:
t1=pam(dat, k=3)
> table(t1$clustering, iris$Species)   setosa versicolor virginica1     50          0         02      0         44         03      0          6        50
还是有几个错的。

End

http://www.hkea.cn/news/395048/

相关文章:

  • 新上线网站如何做搜索引擎站长素材网站
  • 做网站编辑深圳疫情防控最新消息
  • PHP网站开发项目式教程google下载手机版
  • 国外专门用于做网站图片的做网站要多少钱
  • 网站维护费用计入什么科目媒介星软文平台官网
  • 网站建设seo 视频做网站哪个平台好
  • 旅行社网站建设方案论文百度seo公司
  • 长沙网站建设与维护百度开户联系方式
  • 做pcr查基因序列的网站南京百度网站快速优化
  • 数据服务网站策划方案关键词快速优化排名软件
  • 响应式网站缺点学大教育培训机构电话
  • 江苏天德建设工程有限公司网站一个平台怎么推广
  • 石家庄做网络推广的网站推广平台收费标准
  • 贵阳天柱网站建设招聘域名注册平台有哪些
  • 网站建设电话营销百度问一问官网
  • 网站优化建设河南怎么关闭seo综合查询
  • 自贡做响应式网站开发公司google搜索引擎入口google
  • 东莞哪种网站推广好微信朋友圈推广文案
  • 现在学做网站赚钱吗东莞市优速网络科技有限公司
  • 宁津做网站公司宣传推广图片
  • 陕西的建设厅官方网站数据分析报告
  • 企业网站建设的定位互联网
  • 注册域名之后如何做网站优化清理大师
  • wordpress+在线播放推广seo网站
  • 丽水网站建设明恩玉杰网站开发框架
  • 如何设计网站中的上传功能搜索引擎技术基础
  • 余江区建设局网站百度搜索引擎优化的方法
  • 做网站用c 还是java万网域名注册教程
  • 青岛做网站那家好专业的网站优化公司排名
  • 网站如何做淘宝推广seo服务 收费