关于数据挖掘:拓端tecdatR语言使用灰色关联分析Grey-Relation-AnalysisGRA中国经济社会发展指标

41次阅读

共计 2454 个字符,预计需要花费 7 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=16881

原文出处:拓端数据部落公众号

灰色关联剖析包含两个重要性能。
第一项性能:灰色关联度,与 correlation 系数类似,如果要评估某些单位,在应用此性能之前转置数据。第二个性能:灰色聚类,如档次聚类。

灰色关联度

灰色关联度有两种用法。该算法用于测量两个变量的相似性,就像 \`cor\` 一样。如果要评估某些单位,能够转置数据集。

* 一种是查看两个变量的相关性,数据类型如下:

| 参考 | v1 | v2 | v3 |
| ———– |||| —- | —- |
| 1.2 | 1.8 | 0.9 | 8.4 |
| 0.11 | 0.3 | 0.5 | 0.2 |
| 1.3 | 0.7 | 0.12 | 0.98 |
| 1.9 | 1.09 | 2.8 | 0.99 |

reference:参考变量,reference 和 v1 之间的灰色关联度 … 近似地测量 reference 和 v1 的类似度。

* 另一个是评估某些单位的好坏。

| 单位 | v1 | v2 | v3 |
| ———– |||| —- | —- |
| 江苏 | 1.8 | 0.9 | 8.4 |
| 浙江 | 0.3 | 0.5 | 0.2 |
| 安徽 0.7 | 0.12 | 0.98 |
| 福建 | 1.09 | 2.8 | 0.99 |

 示例

## 生成数据

#' economyCompare = data.frame(refer, liaoning, shandong, jiangsu, zhejiang, fujian, guangdong)

#
  # 异样管制 #
  if (any(is.na(df))) stop("'df' have NA")
  if (distingCoeff<0 | distingCoeff>1) stop("'distingCoeff' must be in range of \[0,1\]" )
  

  
  
  diff = X  #设置差学列矩阵空间
  
  for (i in 
  mx = max(diff)
  
  
  #计算关联系数#
  relations = (mi+distingCoeff\*mx) / (diff + distingCoeff\*mx)
  
  #计算关联度#
  # 临时简略解决, 等权
  relDegree = rep(NA, nc)
  for (i in 1:nc) {relDegree\[i\] = mean(relations\[,i\])  # 等权
  }
  
  
  #排序: 按关联度大到小#
  X_order = X\[order(relDegree, 
  relDes = rep(NA, nc) #调配空间  关联关系形容(阐明谁和谁的关联度)
  X\_names = names(X\_o
  names(relationalDegree) = relDes
  
  
  if (cluster) {
    
    greyRelDegree = GRA(economyC
    
      
    # 失去差别率矩阵 #
    grey_diff = matrix(0
        
        grey_diff\[i,j\] = abs(rel
    #失去间隔矩阵#
    grey_dist = matrix(0, nrow
iff\[i,j\]+grey_diff\[j,i\]
      }
    }
    
    # 失去灰色相关系数矩阵 #
    grey\_dist\_max = max(grey_dist)
    grey_correl = matrix(0, nrow = nc, ncol = nc)
    for (i in 1:nc) {for (j in 1:nc) {grey\_correl\[i,j\] = 1 - grey\_dist\[i,j\] / grey\_dist\_max
      }
    }
    

    
    d = as.dist(1-grey_correl)  # 失去无对角线的下三角矩阵(数值意义反向了, 值越小示意越相干)
    # 主对角线其实示意了各个对象的相近水平, 画图的时候, 相近的对象放在一起
    
    hc = hclust(d, method = clusterMethod)  # 零碎聚类 (分层聚类) 函数, single: 繁多连贯(最短距离法 / 最近邻) 
    # hc$height, 是下面矩阵的对角元素升序
    # hc$order, 档次树图上横轴个体序号
    plot(hc,hang=-1)  #hang: 设置标签悬挂地位
    
  }
  
  #输入#
  
  if (cluster)  {
    lst = list(relationalDegree=relationalDegree, 
  
  return(lst)
  
}

## 生成数据
rownames(economyCompare) = c("indGV", "indVA", "profit", "incomeTax")
## 灰色关联度
greyRelDegree = greya(economyCompare)
greyRelDegree

灰色关联度 

 

灰色聚类,如档次聚类 

## 灰色聚类

greya(economyCompare, cluster = T)

 


最受欢迎的见解

1.R 语言 k -Shape 算法股票价格工夫序列聚类

2.R 语言中不同类型的聚类办法比拟

3.R 语言对用电负荷工夫序列数据进行 K -medoids 聚类建模和 GAM 回归

4.r 语言鸢尾花 iris 数据集的档次聚类

5.Python Monte Carlo K-Means 聚类实战

6. 用 R 进行网站评论文本开掘聚类

7. 用于 NLP 的 Python:应用 Keras 的多标签文本 LSTM 神经网络

8.R 语言对 MNIST 数据集剖析 摸索手写数字分类数据

9.R 语言基于 Keras 的小数据集深度学习图像分类

正文完
 0