聚类

# 聚类

# 层次-聚类

本模块是对sklearn的封装,详细文档请参考: https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html#sklearn.cluster.AgglomerativeClustering

定义

M.cluster_agglomerative.v1(n_clusters,affinity,linkage,key_cols,other_train_parameters)

参数:

  • n_clusters:可选,整数,默认值2,最大值2147483647,最小值1,分类簇的数量,默认为2
  • affinity:必选,枚举,默认值euclidean,可选值['euclidean','l1','l2','manhattan','cosine','precomputed'],距离度量
  • linkage:必选,枚举,默认值ward,可选值['ward','complete','average','single'],连接算法,如果使用ward,则距离度量只能使用euclidean
  • key_cols:可选,字符,默认值date,instrument,关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔
  • other_train_parameters:可选,代码,默认值{},其他训练参数,字典格式,例:{'criterion': 'mse'}

返回:

  • output_model:output_model,训练出来的模型
  • transform_trainds:transform_trainds,训练数据集,聚类训练结果为列label
  • predictions:predictions,预测结果,如果predict_ds为None,predictions也为None

# 近邻传播-聚类

本模块是对sklearn的封装,详细文档请参考: https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AffinityPropagation.html#sklearn.cluster.AffinityPropagation

定义

M.cluster_affinity_propagation.v1(damping,iterations,convergence_iter,copy,affinity,key_cols,other_train_parameters)

参数:

  • damping:可选,浮点数,默认值0.5,最大值1,最小值0.5,阻尼系数,取值在0.5到1之间,减少算法迭代产生震荡
  • iterations:可选,整数,默认值200,最大值2147483647,最小值1,最大迭代次数,默认为200
  • convergence_iter:可选,整数,默认值15,最大值2147483647,最小值1,算法收敛迭代次数,直到分类数没有变化时算法的迭代次数,默认为15
  • copy:必选,布尔,默认值True,是否复制输入数据,默认为True
  • affinity:必选,枚举,默认值euclidean,可选值['precomputed','euclidean'],距离度量,目前支持precomputed和euclidean
  • key_cols:可选,字符,默认值date,instrument,关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔
  • other_train_parameters:可选,代码,默认值{},其他训练参数,字典格式,例:{'criterion': 'mse'}

返回:

  • output_model:output_model,训练出来的模型
  • transform_trainds:transform_trainds,训练数据集,聚类训练结果为列label
  • predictions:predictions,预测结果,如果predict_ds为None,predictions也为None

# 谱-聚类

本模块是对sklearn的封装,详细文档请参考: https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering

定义

M.cluster_spectral.v1(n_clusters,affinity,n_neighbors,eigen_solver,eigen_tol,n_init,gamma,assign_labels,key_cols,workers,other_train_parameters)

参数:

  • n_clusters:可选,整数,默认值3,最大值2147483647,最小值1,分类簇的数量,切图时降到的维数
  • affinity:必选,枚举,默认值rbf,可选值['rbf','nearest_neighbors','precomputed','linear','poly','sigmoid'],相似矩阵的建立方式,为nearest_neighbors时忽略参数gamma,默认为rbf
  • n_neighbors:可选,整数,默认值10,最大值2147483647,最小值1,KNN算法的K的个数,默认是10,affinity为nearest_neighbors忽略此参数
  • eigen_solver:必选,枚举,默认值null,可选值[null,'arpack','lobpcg'],特征值分解策略,amg存在稳定性问题,平台暂不支持
  • eigen_tol:可选,浮点数,默认值0,最大值1.7976931348623157e+308,最小值-1.7976931348623157e+308,停止拉普拉斯矩阵特征分解条件,当eigen_solver为eigen_solver时生效
  • n_init:可选,整数,默认值10,最大值2147483647,最小值0,K-Means聚类的运行次数,最终结果是连续运行后的最佳输出
  • gamma:可选,浮点数,默认值1,最大值1.7976931348623157e+308,最小值-1.7976931348623157e+308,核系数,rbf,poly,sigmoid,laplacian和chi2的核系数
  • assign_labels:必选,枚举,默认值kmeans,可选值['kmeans','discretize'],聚类方法,常用kmeans,但对质心初始化较敏感,discretize则不敏感
  • key_cols:可选,字符,默认值date,instrument,关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔
  • workers:可选,整数,默认值1,最大值2147483647,最小值-2147483648,并行作业数,同时使用多少个进程进行计算,默认是1,普通用户最多为2,会员可以使用更多资源
  • other_train_parameters:可选,代码,默认值{},其他训练参数,字典格式,例:{'criterion': 'mse'}

返回:

  • output_model:output_model,训练出来的模型
  • transform_trainds:transform_trainds,训练数据集,聚类训练结果为列label
  • predictions:predictions,预测结果,如果predict_ds为None,predictions也为None

# Birch-聚类

本模块是对sklearn的封装,详细文档请参考: https://scikit-learn.org/stable/modules/clustering.html#birch_ http://doc.codingdict.com/sklearn/22/#23846-birch
其他参数:

  • n_clusters:分类簇的数量,在类别数特别多,没有先验知识的情况下,n_clusters可用None,即直接读取叶子结点中的子聚类。默认为3

定义

M.cluster_birch.v1(compute_labels,threshold,branching_factor,key_cols,other_train_parameters)

参数:

  • compute_labels:必选,布尔,默认值True,是否标示类别输出,默认为True
  • threshold:可选,浮点数,默认值0.5,最大值1.7976931348623157e+308,最小值-1.7976931348623157e+308,簇半径阈值,限制新加入的样本和存在与现有子集群中样本的最大距离,默认为0.5
  • branching_factor:可选,整数,默认值50,最大值2147483647,最小值2,分支因子,限制一个节点中的子集群的数量,默认是50
  • key_cols:可选,字符,默认值date,instrument,关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔
  • other_train_parameters:可选,代码,默认值{'n_clusters': 3},其他训练参数,字典格式,例:{'criterion': 'mse'}

返回:

  • output_model:output_model,训练出来的模型
  • transform_trainds:transform_trainds,训练数据集,聚类训练结果为列label
  • predictions:predictions,预测结果,如果predict_ds为None,predictions也为None

# DBSCAN-聚类

本模块是对sklearn的封装,详细文档请参考: https://scikit-learn.org/stable/modules/clustering.html#dbscan_

定义

M.cluster_dbscan.v1(eps,min_samples,algorithm,key_cols,workers,other_train_parameters)

参数:

  • eps:可选,浮点数,默认值0.5,最大值1.7976931348623157e+308,最小值0,邻域的距离阈值,即两样本间最大距离
  • min_samples:可选,整数,默认值5,最大值2147483647,最小值-2147483648,核心点邻域中最小样本数,包括点本身
  • algorithm:必选,枚举,默认值auto,可选值['auto','ball_tree','kd_tree','brute'],K-Means算法
  • key_cols:可选,字符,默认值date,instrument,关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔
  • workers:可选,整数,默认值1,最大值2147483647,最小值-2147483648,并行作业数,同时使用多少个进程进行计算,默认是1,普通用户最多为2,会员可以使用更多资源
  • other_train_parameters:可选,代码,默认值{'metric': 'precomputed'},其他训练参数,字典格式,例:{'criterion': 'mse'}

返回:

  • output_model:output_model,训练出来的模型
  • transform_trainds:transform_trainds,训练数据集,聚类训练结果为列label
  • predictions:predictions,预测结果,如果predict_ds为None,predictions也为None

# K均值-聚类

本模块是对sklearn的封装,详细文档请参考: https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans

定义

 M.cluster_kmeans.v1(n_clusters,init,n_init,iterations,algorithm,key_cols,workers,other_train_parameters)

参数:

  • n_clusters:可选,整数,默认值8,最大值2147483647,最小值-2147483648,簇的个数,聚类中心数量,默认为8
  • init:必选,枚举,默认值k-means++,可选值['k-means++','random'],质心初始化方法,默认为k-means++
  • n_init:可选,整数,默认值10,最大值2147483647,最小值-2147483648,初始化质心的次数,默认为10
  • iterations:可选,整数,默认值300,最大值2147483647,最小值1,最大迭代次数,迭代得到最终质心的次数
  • algorithm:必选,枚举,默认值auto,可选值['auto','full','elkan'],K-Means算法,auto选择elkan表示密集数据,full表示稀疏数据
  • key_cols:可选,字符,默认值date,instrument,关键列,关键列的数据会复制到预测结果里,多个列用英文逗号分隔
  • workers:可选,整数,默认值1,最大值2147483647,最小值-2147483648,并行作业数,同时使用多少个进程进行计算,默认是1,普通用户最多为2,会员可以使用更多资源
  • other_train_parameters:可选,代码,默认值{},其他训练参数,字典格式,例:{'criterion': 'mse'}

返回:

  • output_model:output_model,训练出来的模型
  • transform_trainds:transform_trainds,训练数据集,聚类训练结果为列label
  • predictions:predictions,预测结果,如果predict_ds为None,predictions也为None