language: cn
model_unique_abbr: TSNE_sklearn
version: 1.0
identification:
  docker_image_name: tsne:1.0.0-sklearn1.0.2
  model_name: 分布式随机近邻嵌入
  semantic: point dimensionality reduction
  description: 将数据从高维数据转到低维数据且保持其在高维空间里所携带的信息
  category_application: 描述型
  category_data:
  - 点数据分析
  keywords:
  - 空间点
  - 降维分析
parameter_info:
  parameters:
  - arg_name: input_x
    param_type: input_data
    name: 输入
    description: 高维点数据
    data_type: csv
    data_semantic: input

  - arg_name: perplexity
    param_type: param
    visible: false
    name: 困惑度
    description: 点的松散程度,取值范围为(5,50]，默认值为30
    data_type: float
    data_semantic: perplexity
    specification:
      default: 30
      range:
      - "(5,50]"
  - arg_name: n_components
    param_type: param
    name: 维度
    description: 输出后的维度，该值不超过输入的维度，默认值为2
    data_type: int
    data_semantic: n_components
    specification:
      default: 2
  - arg_name: learning_rate
    param_type: param
    name: 学习率
    description: 决定目标函数能否收敛到局部最小值以及何时收敛到最小值，取值范围(10,1000]，默认值为200
    is_required: false
    data_type: float
    data_semantic: learning_rate
    specification:
      default: 200
      range:
      - "(10,1000]"
  - arg_name: n_iter
    param_type: param
    visible: false
    name: 迭代次数
    description: 优化的最大迭代次数，取值范围为(250,]，默认值为1000
    is_required: false
    data_type: int
    data_semantic: n_iter
    specification:
      default: 1000
      range:
      - "(250,]"
  - arg_name: n_jobs
    param_type: param
    visible: false
    name: cpu设定
    description: 用来设定CPU核心运行个数
    is_required: false
    data_type: int
    data_semantic: n_jobs
    specification:
      default: -1
  - arg_name: output
    param_type: output_data
    name: 输出
    description: 降维后的空间点数据，输出文件格式为csv
    data_type: str
    data_semantic: output
application:
  domain: 空间点数据降维
  objective: 高维点数据
  dimension:
  - 二维
  mechanism: 该算法将样本间的距离转换为联合概率分布来表达点与点之间的相似度，并在低维空间中构建这些点的概率分布，使相似的样本由邻近的点建模、不相似的样本由远点建模，以达到降维的目的。
operation:
  usage: 须指定训练数据、训练标签、待预测的数据及输出路径，其他参数均可默认
  exec_example:
  - docker run -v $(pwd)/data:/data tsne:1.0.0-sklearn1.0.2 -input_x /data/input.csv -output /data/output.csv
  license:
  - BSD-3-Clause
  - PSF-2.0
  - GPL-2.0
  tips: 导入数据第一行为表头，会忽略读取。
technique:
  language:
  - python
  os:
  - linux
  - windows
  parallel:
  - multithreading
  hardware:
  - cpu
  dependencies:
  - name: scikit-learn
    version: 1.0.2
  - name: pandas
    version: 1.1.3
  - name: numpy
    version: 1.19.2
source:
  maintainer: Biao liu
  organization: Beijing University of Civil Engineering and Architecture
  contact: 2108570021077@stu.bucea.edu.cn
  integrated_softwares:
  - name: scikit-learn
    version: 1.0.2
    license: BSD-3-Clause
  references:
  - "Maaten, L. v. d., Hinton, G. 2008. Visualizing data using t-SNE. Journal of Machine Learning Research, 9(11) 2579−2605."
  - https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html
