zoukankan      html  css  js  c++  java
  • R exercise1

    require(graphics)
    
    # a 2-dimensional example
    
    x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
               matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
    colnames(x) <- c("x", "y")
    (cl <- kmeans(x, 2))
    plot(x, col = cl$cluster)
    points(cl$centers, col = 1:2, pch = 8, cex = 2)
    
    # sum of squares
    # 其中scale函数提供数据中心化功能,所谓数据的中心化是指数据集中的各项数据减去数据集的均值,这个函数还提供数据的标准化功能,所谓数据的标准化是指中心化之后的数据在除以数据集的标准差,即数据集中的各项数据减去数据集的均值再除以数据集的标准差。见http://it.zhans.org/10/1834.htm。
    ss <- function(x) sum(scale(x, scale = FALSE)^2)
    
    ## cluster centers "fitted" to each obs.:
    fitted.x <- fitted(cl);
    head(fitted.x);
    resid.x <- x - fitted(cl);
    
    ## Equalities : ----------------------------------
    cbind(cl[c("betweenss", "tot.withinss", "totss")], # the same two columns
          c(ss(fitted.x), ss(resid.x),    ss(x)))
    # kmeas聚类满足如下条件
    stopifnot(all.equal(cl$ totss,        ss(x)),
              all.equal(cl$ tot.withinss, ss(resid.x)),
              ## these three are the same:
              all.equal(cl$ betweenss,    ss(fitted.x)),
              all.equal(cl$ betweenss, cl$totss - cl$tot.withinss),
              ## and hence also
              all.equal(ss(x), ss(fitted.x) + ss(resid.x))
    )
  • 相关阅读:
    Process对象的其他属性:
    python网络编程之开启进程的方式
    python网络编程之进程论
    python网络编程之C/S架构介绍
    面向对象之元类介绍(未完待续)
    面向对象之继承
    面向对象之元类介绍
    python异常处理
    面向对象之内置方法
    面向对象之反射
  • 原文地址:https://www.cnblogs.com/ilxx1988/p/4173357.html
Copyright © 2011-2022 走看看