0

我希望以人类可读格式(XML、JSON)导出在树状图中可视化的聚类信息,其中包含距离以及节点和子节点。

4

1 回答 1

0

查看基于 XML 表示的pmml包。

require(pmml)
# 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)

pmml(cl, centers = cl$centers)

<PMML version="4.1" xmlns="http://www.dmg.org/PMML-4_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dmg.org/PMML-4_1 http://www.dmg.org/v4-1/pmml-4-1.xsd">
 <Header copyright="Copyright (c) 2013 edisz" description="KMeans cluster model">
  <Extension name="user" value="edisz" extender="Rattle/PMML"/>
  <Application name="Rattle/PMML" version="1.4"/>
  <Timestamp>2013-11-11 15:02:46</Timestamp>
 </Header>
 <DataDictionary numberOfFields="2">
  <DataField name="x" optype="continuous" dataType="double"/>
  <DataField name="y" optype="continuous" dataType="double"/>
 </DataDictionary>
 <ClusteringModel modelName="KMeans_Model" functionName="clustering" algorithmName="KMeans: Hartigan and Wong" modelClass="centerBased" numberOfClusters="2">
  <MiningSchema>
   <MiningField name="x"/>
   <MiningField name="y"/>
  </MiningSchema>
  <Output>
   <OutputField name="predictedValue" feature="predictedValue"/>
   <OutputField name="clusterAffinity_1" feature="clusterAffinity" value="1"/>
   <OutputField name="clusterAffinity_2" feature="clusterAffinity" value="2"/>
  </Output>
  <ComparisonMeasure kind="distance">
   <squaredEuclidean/>
  </ComparisonMeasure>
  <ClusteringField field="x" compareFunction="absDiff"/>
  <ClusteringField field="y" compareFunction="absDiff"/>
  <Cluster name="1" size="49" id="1">
   <Array n="2" type="real">1.08242766097448 0.970387920586825</Array>
  </Cluster>
  <Cluster name="2" size="51" id="2">
   <Array n="2" type="real">0.0261601744749776 0.0786776972701963</Array>
  </Cluster>
 </ClusteringModel>
</PMML>

但我不知道这是否更具人类可读性......

于 2013-11-11T14:07:11.727 回答