zoukankan      html  css  js  c++  java
  • R语言中的聚类的使用

    这里的聚类主要用到K-Means和K-Medoide聚类。在进行聚类之前,为了避免不同参数之间量纲不同所造成的影响,先将数据进行(0-1)标准化

    # 如参数weight
    data$weight <- (data$weight-min(data$weight))/(max(data$weight)-min(data$weight))

    K-Means算法

    1.读取数据

    data <- read.csv("data/km/data.csv",header = T)

    2.调用kmeans算法

    # 设置聚类数
    cluster_num <- 5
    # 调用kmeans算法
    km <- kmeans(data,cluster_num)

    3.查看分类情况和总体汇总

    # 查看具体分类情况
    fitted(km)   
    # 查看分类概括
    table(data$weight, km$cluster)  

    4.将结果保存

    # 构建新数据框映射
    df <- data.frame(km[[1]],data$weight)
    # 参数重新命名
    names(df) <- (c("classification_number","weight"))
    # 保存写入
    write.csv(df,file="data/km.csv")

    K-Medoide算法

    这里用到K-Medoide中对大样本数据处理的算法------CLARA算法

    1.下载cluster包

    install.packages("cluster")

    2.引入cluster包

    # 引入cluster包
    library(cluster)

    3.读取数据

    data <- read.csv("data/km/data.csv",header = T)

    4.调用CLARA算法

    # 设置聚类数
    cluster_num <- 5
    # 调用CLARA算法
    cl <- clara(data,cluster_num)

    5.将结果保存

    # 构建新数据框映射
    df <- data.frame(cl$clustering,data$weight)
    #参数重新命名
    names(df) <- (c("classification_number","weight"))
    # 写入 write.csv(df,file
    ="data/clara.csv")
  • 相关阅读:
    java.lang.NoClassDefFoundError: org.junit.runner.Runner
    SpringMVC 八大注解
    spring @autowired使用总结
    Git使用入门
    N21_栈的压入弹出序列。
    N20_包含min函数的栈
    N19_顺时针打印指针
    N17_判断树B是不是树A的子结构
    N16_合并两个排序链表
    N15_反转链表后,输出新链表的表头。
  • 原文地址:https://www.cnblogs.com/xiaomingzaixian/p/9269167.html
Copyright © 2011-2022 走看看