language: cn
model_unique_abbr: csu_workflow_mode2_clusters
version: 1.0
identification:
  docker_image_name: csu_workflow_mode2_clusters:3.0
  model_name: 空气质量预测聚类分区
  semantic: mode2_clusters
  description: 该模型实现了空气质量预测的聚类分区，通过GeoSOM算法对根据强相关变量数据进行聚类分区。
  category_application: 预测型
  category_data:
  - 矢量点数据
  keywords:
  - 空气质量
  - 聚类分区
parameter_info:
  parameters:
  - arg_name: train_data_folder
    is_single_en_dash: false
    param_type: input_data
    name: 训练数据文件夹
    description: 包含训练数据文件的文件夹路径。
    data_type: csv
    data_semantic: train_data_folder

  - arg_name: best_arg
    is_single_en_dash: false
    param_type: input_data
    name: 最佳参数结果
    description: 最佳参数的结果文件，文件格式json。
    data_type: json
    data_semantic: best_arg

  - arg_name: variable
    is_single_en_dash: false
    param_type: param
    name: 自变量
    description: 选取数据集中自变量列名，填写示例：u10,v10,t2m,sp,tp,AQI,PM10,NO2,CO,O3,SO2
    data_type: str
    data_semantic: variable
    specification: #选填。参数规格
      default: u10,v10,t2m,sp,tp,AQI,PM10,NO2,CO,O3,SO2

  - arg_name: air_quality
    is_single_en_dash: false
    param_type: param
    name: 待预测的空气质量指标
    description: 需要预测的空气质量指标。
    data_type: str
    data_semantic: air quatity index that needs to be predicted
    specification:
      default: PM2.5

  - arg_name: geo_coord
    is_single_en_dash: false
    param_type: param
    name: 地理坐标
    description: 选取数据集中地理坐标列名，填写示例： x,y
    data_type: str
    data_semantic: geo_coord
    specification:
      default: x,y

  - arg_name: X
    is_single_en_dash: false
    param_type: param
    name: 聚类行数
    description: 用于聚类的行数。
    data_type: int
    data_semantic: number of rows for clustering
    specification:
      default: 2

  - arg_name: Y
    is_single_en_dash: false
    param_type: param
    name: 聚类列数
    description: 用于聚类的列数。
    data_type: int
    data_semantic: number of columns for clustering
    specification:
      default: 2

  - arg_name: N_epoch
    is_single_en_dash: false
    param_type: param
    name: GeoSOM算法迭代次数
    description: GeoSOM算法的迭代次数。
    data_type: int
    data_semantic: number of iterations for the GeoSOM algorithm
    specification:
      default: 100

  - arg_name: k
    is_single_en_dash: false
    param_type: param
    name: 地理邻域大小参数
    description: 用于确定地理邻域大小的参数。
    data_type: int
    data_semantic: parameter to determine the size of the geographical neighborhood
    specification:
      default: 100

  - arg_name: sigma
    is_single_en_dash: false
    param_type: param
    name: 初始邻域大小阈值
    description: 用于确定邻域大小的初始阈值。
    data_type: float
    data_semantic: initial threshold to determine the size of the neighborhood
    specification:
      default: 1.5

  - arg_name: cluster_result
    is_single_en_dash: false
    param_type: output_data
    name: 区域聚类结果
    description: 区域聚类结果文件，文件格式csv。
    data_type: csv
    data_semantic: cluster_result

  - arg_name: iVariables
    is_single_en_dash: false
    param_type: output_data
    name: 独立变量
    description: 独立变量的结果文件，文件格式json。
    data_type: json
    data_semantic: iVariables
application:
  domain: 空气质量预测聚类分区
  objective: 通过GeoSOM算法对根据强相关变量数据进行聚类分区。
  dimension:
  - 多维
  mechanism: 使用GeoSOM算法进行聚类分区
operation:
  usage: 该算法需要十二个参数，训练数据文件夹，最佳参数输入，变量，空气质量指标，地理坐标，聚类行数，聚类列数，GeoSOM算法迭代次数，地理邻域大小参数，初始邻域大小阈值，区域结果输出，独立变量输出。
  exec_example:
  - docker run -v $(pwd):/data mode2_clusters:1.0 --train_data_folder /data/data/ --input_best_arg /data/best_arg.json --variable u10 v10 t2m sp tp AQI PM10 NO2 CO O3 SO2 --air_quality PM2.5 --geo_coord x y --X 2 --Y 2 --N_epoch 100 --k 100 --sigma 1.5 --output_cluster /data/clusters.csv --output_iVariables /data/iVariables.json
  output_display:
  - 针对聚类结果，可以绘制各个区域的空气质量预测值。
  license:
  - BSD
technique:
  language:
  - Python
  os:
  - Linux
  - Windows
  dependencies:
  - name: pandas
    version: 1.3.3
  - name: numpy
    version: 1.21.2
  - name: scikit-learn
    version: 0.24.2
source:
  maintainer: Yixun Liu
  organization: Central South University
  contact: 1907269689@qq.com
  integrated_softwares:
  - name: pandas
    version: 1.3.3
    license: BSD
  - name: numpy
    version: 1.21.2
    license: BSD
  - name: scikit-learn
    version: 0.24.2
    license: BSD
  references:
  - https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html