language: cn
model_unique_abbr: mst_clustering
version: 1.0
identification:
  docker_image_name: mst_clustering:1.0
  model_name: MST聚类
  semantic: point clustering
  description: MST聚类算法（Minimum Spanning Tree）是一种基于图论的聚类算法，该算法不需要进行一些相似度的计算, 就能把聚类问题映射为图论中的一个组合优化问题。
  category_application: 描述型
  category_data:
    - 点数据分析
  keywords:
    - 最小支持树
    - 异常长边

parameter_info:
  parameters:
    - arg_name: input
      is_single_en_dash: false
      param_type: input_data
      name: 空间点数据
      description: 待聚类的空间点数据,以txt的形式保存,需要表头,表头中至少包含X坐标和Y坐标
      data_type: txt
      data_semantic: spatial_point_data

    - arg_name: x_field
      is_single_en_dash: false
      is_required: true
      param_type: param
      name: X坐标字段
      description: X坐标列在输入文件中的列名
      data_type: str
      data_semantic: x_field
      param_switches:
        - switch_arg_name: input
          switch_arg_value_regex: txt$
          switch_arg_value_examples: [big_dataset.txt, small_dataset.txt]
      specification:
        default: x

    - arg_name: y_field
      is_single_en_dash: false
      is_required: true
      param_type: param
      name: Y坐标字段
      description: Y坐标列在输入文件中的列名
      data_type: str
      data_semantic: y_field
      param_switches:
        - switch_arg_name: input
          switch_arg_value_regex: txt$
          switch_arg_value_examples: [big_dataset.txt, small_dataset.txt]
      specification:
        default: y

    - arg_name: cutoff
      is_single_en_dash: false
      param_type: param
      name: 截止比例
      description: 最小支撑树删除异常边的比例,float类型,取值范围为(0,1)，推荐值为0.8
      is_required: true
      data_type: float
      data_semantic: cutoff_rate
      specification:
        range:
          - "(0,1)"
        default: 0.8

    - arg_name: output
      is_single_en_dash: false
      param_type: output_data
      name: 聚类结果
      description: 聚类标签,保存为json文件,key为labels,每个值代表为标签，与源数据一一对应。
      data_type: json
      data_semantic: cluster_result

  groups:
    - group_id: ixy
      group_name: 输入数据以及XY列
      group_param_arg_names:
        - input
        - x_field
        - y_field
application:
  domain: 空间聚集模式
  objective: 该算法首先对所有的数据点建立生成最小生成树（MST），然后逐步删除最小生成树（MST）中具有最大长度的那些边,从而形成更多的聚类。
  dimension:
    - 二维
  mechanism: 基于图论的聚类算法
operation:
  usage: "该算法需要三个参数,X坐标列名,Y坐标列名,截止比例"
  exec_example:
    - docker run -v $(pwd):/data mstcluster:1.0 --input /data/data.csv --x_field x --y_field y --cutoff 0.6 --output /data/res.json
  output_display:
    - "输出的结果为json文件，key为labels,每个值代表为标签，与源数据一一对应。需要通过输入数据与聚类结果拼接进行可视化"
technique:
  language:
    - Python
  os:
    - Linux
    - Windows
source:
  maintainer: Nanwei Cheng
  organization: Central South University
  contact: 2247486718@qq.com
  references:
    - "Zahn, C.T. 1971. Graph-theoretical methods for detecting and describing gestalt clusters. IEEE Transactions on Computers, 100(1): 68–86."
