在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Calinski-Harabasz准则有时称为方差比准则 (VRC),它可以用来确定聚类的最佳K值。Calinski Harabasz 指数定义为: 其中,K是聚类数,N是样本数,SSB是组与组之间的平方和误差,SSw是组内平方和误差。因此,如果SSw越小、SSB越大,那么聚类效果就会越好,即Calinsky criterion值越大,聚类效果越好。 1.下载permute、lattice、vegan包 install.packages(c("permute","lattice","vegan")) 2.引入permute、lattice、vegan包 library(permute)
library(lattice)
library(vegan)
3.读取数据 data <- read.csv("data/data.csv") 4.计算最佳K值 fit <- cascadeKM(data,3,10,iter=10,criterion="calinski") calinski.best <- as.numeric(which.max(fit$results[2,])) 5.图片保存 png(file="data/calinskibest.png") plot(fit, sortg = TRUE, grpmts.plot = TRUE) dev.off() 6.截图
封装DetermineClustersNumHelper.R类 # ============================ # 确定最佳聚类K值 # # ============================ # 引入包库 library(permute) library(lattice) library(vegan) # 获取最佳K值函数 get_best_calinski <- function(file_name){ # 获取故障数据 data <- read.csv(paste("data/km/",file_name,".csv",sep=""),header = T) # 计算 fit <- cascadeKM(data,3,10,iter=10,criterion="calinski") calinski.best <- as.numeric(which.max(fit$results[2,])) # 保存图片 png(file=paste("data/km/",file_name,calinski.best,".png",sep="")) plot(fit, sortg = TRUE, grpmts.plot = TRUE) dev.off() } # ========================================================================== # For example #file_list <- array(c("failure_data_normalization","failure_normal_data_normalization")) #for(file in file_list){
|
请发表评论