首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

清理、处理和可视化数据集,第 3 部分 可视化数据-2

清理、处理和可视化数据集,第 3 部分 可视化数据-2

可视化集群在最终的可视化图形中,我考虑采用构造一种数据表示的非传统方法。在这个可视化图形中,我使用                 包生成了一个图,该图表示了矢量量化算法生成的集群(参见图 7)。
图 7. 通过 Graphviz 可视化集群在图 7 中,可以看到一个中心(被定义为算法 VQ),以及形成了 7                个集群的算法。每个集群都被定义为一条记录,包含集群编号和组成该集群的动物。作为一种图形语言,您可以了解如何使用图形语义构造该图形。VQ                被定义为一个节点,-> 运算符被用于在 VQ 节点与 Cluster_0                节点之间绘制一条边。每个集群都是根据记录来构造的,这样就可以对多个元素进行分组。清单 4 给出了相关代码。
清单 4. 用于构造图 7 中的图形的                    Graphviz dot 文件                (vq.dot)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
digraph G {
size="16,16";
overlap=scale;
fontsize=8;
VQ [shape=box center=true];
node [shape=record];
VQ -> Cluster_0
Cluster_0 [ label = "Cluster0 | { flea, gnat, honeybee, housefly, ladybird,
                                  moth, slug, termite, wasp, worm } " ]
VQ -> Cluster_1
Cluster_1 [ label = "Cluster1 | { { chicken, crow, dove, duck, flamingo,
                                    gull, hawk, kiwi, lark, ostrich } |                                
                                  { parakeet, penguin, pheasant, rhea,
                                    skimmer, skua, sparrow, swan, vulture,
                                    wren } }" ]
VQ -> Cluster_2
Cluster_2 [ label = "Cluster2 | { { bass, carp, catfish, chub, dogfish,
                                    dolphin, haddock, herring, pike } |
                                  { piranha, porpoise, seahorse, sea snake,
                                    sole, stingray, tuna } }" ]
VQ -> Cluster_3
Cluster_3 [ label = "Cluster3 | frog, frog, newt, pit viper, slowworm, toad,
                                tortoise, tuatara" ]
VQ -> Cluster_4
Cluster_4 [ label = "Cluster4 | { { aardvark, antelope, bear, boar, buffalo,
                                    calf, cheetah, deer, elephant, giraffe} |     
                                  { girl, goat, leopard, lion, lynx, mink,
                                    mole, mongoose, opossum, oryx, platypus} |                                 
                                  { polecat, pony, puma, pussycat, raccoon,
                                    reindeer, seal, sea lion, wolf } }" ]
VQ -> Cluster_5
Cluster_5 [ label = "Cluster5 | clam, crab, crayfish, lobster, octopus,
                                scorpion, sea wasp, starfish" ]
VQ -> Cluster_6
Cluster_6 [ label = "Cluster6 | cavy, fruit bat, gorilla, hamster, hare,
                                squirrel, vampire, vole, wallaby" ]
}




为了生成 图 7 中的图,Graphviz 调用了以下命令:
1
$ neato -Tgif -o out.gif vq.dot




dot 命令生成有向图的分层结构,但 neato                更适合使用弹簧模型布局的无向图(其中的边对应于弹簧,顶点对应于受到同等控制的主体)。这两个实用工具都包含在 Graphviz 包中。
结束语本教程探索了可视化数据的一些更有用的应用,以及一些可用来生成这种可视化图形的方法。R                编程语言是一种处理和可视化数据的得到广泛应用的流行解决方案,也是数据科学家工具箱中的常见工具。Gnuplot                是另一个流行的可视化应用程序,它提供了各种各样的绘图选项。最后,Graphviz 是以图形形式生成数据的理想解决方案。
返回列表