有奖捉虫:行业应用 & 管理与支持文档专题 HOT
注意:
部分输出请在高级设置中查看。

DBSCAN

原理

算法说明

DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。所有识别出的噪音点的簇 ID 均为 -1 ,非噪音点的簇 ID 从 0 开始计数。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*输出文件类型:格式包括以下两种:
csv :csv 文件
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*特征列:表示需要计算的特征所在列,例如“1-12,15”,表示取特征在表中的 1 到 12 列,15 列,从 0 开始计数。
算法参数
*邻域半径:邻域的距离阈值,默认值是 0.5 。一般需要通过在多组值里面选择一个合适的阈值。eps 过大,则更多的点会落在核心对象的邻域,此时我们的类别数可能会减少, 本来不应该是一类的样本也会被划为一类。反之则类别数可能会增大,本来是一类的样本却被划分开。
*邻域内最少点数:在邻域内形成簇的最少点数,注意该点数包括某点本身。

Demo

输入数据示例

feature1,feature2,feature3,feature4,feature5,feature6,label
-0.7379798,0.3240978,0.27719212,-0.29189646,1.1431737,-0.92870927,0
1.0349396,-0.53264785,-0.18987797,-0.9390533,-0.12978475,-0.17435347,0
0.4409462,-0.82629377,-0.76937777,0.047904223,0.52395946,-0.044064667,0
-0.24455377,-0.7057573,0.52309793,-0.43790194,0.15547183,-0.18311355,0
-2.772272,3.2020333,-2.8999074,-4.2892537,-1.1407472,-2.8300557,1

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据包含 header 信息:是
*输入数据分隔符:逗号
*输出文件类型: csv
*输出数据包含 header 信息:是
*输出数据分隔符:逗号
*特征列:0-5
算法参数
*邻域半径:3.0
*邻域内最少点数:2

输出数据示例

如下所示,输出会在末尾追加一列,其中 -1 表示噪声点,其他为类编号。
feature1,feature2,feature3,feature4,feature5,feature6,label,y_pred
-0.7379798,0.3240978,0.27719212,-0.29189646,1.1431737,-0.92870927,0,0
1.0349396,-0.53264785,-0.18987797,-0.9390533,-0.12978475,-0.17435347,0,0
0.4409462,-0.82629377,-0.76937777,0.047904223,0.52395946,-0.044064667,0,0
-0.24455377,-0.7057573,0.52309793,-0.43790194,0.15547183,-0.18311355,0,0
-2.772272,3.2020333,-2.8999074,-4.2892537,-1.1407472,-2.8300557,1,-1

KMeans

原理

算法说明

KMeans 是一种常用的聚类算法,将无标签的数据聚成 K 个类。该算子实现了并行的 k-means++ 的初始化算法。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*输出文件类型:格式包括以下两种:
csv :csv 文件
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*特征列:表示需要计算的特征所在列,例如“1-12,15”,表示取特征在表中的 1 到 12 列,15 列,从 0 开始计数。

最后的结果中,聚类结果会append到数据的最后一列。 n输出格式: 原始特征列 | 聚类结果 | 模型预测的概率值
算法参数
*模型保存格式:ML 格式或者 PMML 格式的模型,保存在后台生成的路径下。
*k :聚类类别数。
maxIter :最大迭代次数。
tol :容忍误差下界,低于该值的时候,算法停止迭代。

Demo

输入数据示例

示例中第一行为列名,不含标签列。
A,B
0,0
1,1
1,0
0,1
3,0
4,0
3,1
4,1

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据包含 header 信息:是
*输入数据分隔符:逗号
*特征列:0-1
算法参数
*模型保存格式:PMML
*k :2,聚类结果分为两列。

预测过程

训练算子训练成功后,将模型路径接口与预测算子模型路径接口相连进行使用即可。具体配置参考“算法 IO 参数”。

将测试数据拖拽到预测算子输入数据接口,运行预测算子对测试数据进行预测。

输出数据示例

选择 PMML 格式的模型保存格式,其输出为一个 csv 文件,其中第一行为列名,最后一列 prediction 为模型的预测值。
A,B,prediction
0,0,1.0
1,1,1.0
1,0,1.0
0,1,1.0
3,0,0.0
4,0,0.0
3,1,0.0
4,1,0.0

层次聚类

原理

算法说明

层次聚类(Hierarchical clustering)代表着一类的聚类算法,这种类别的算法通过不断的合并或者分割内置聚类来构建最终聚类。 聚类的层次可以被表示成树(或者树形图(dendrogram))。树根是拥有所有样本的唯一聚类,叶子是仅有一个样本的聚类。这里实现的是自上而下方法进行层次聚类,开始时每一个对象是一个聚类,并且聚类别相继合并在一起。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*输出文件类型:格式包括以下两种:
csv :csv 文件
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*特征列:作为训练特征的列,从 0 开始编号,可填形式如 a-b、c 或者它们的混合,用英文逗号分割(例如 0-10,15,17-19 表示第 0 到 10 列、15 、17 到 19 列总共 15 列作为特征)。也可以使用列名选择特征。
算法参数
*n_clusters :整数,默认值为 2 ,聚类类别数。
*affinity :字符串,默认值为 euclidean ,计算节点之间距离的数学公式,可通过下拉选择以下值:
euclidean :欧式距离
manhattan :曼哈顿距离
cosine :余弦距离
*linkage :字符串,默认值 ward ,连接标准,可通过下拉选择以下值:
ward : 最小化所有聚类内的平方差总和。这是一种方差最小化(variance-minimizing)的优化方向, 这是与 k-means 的目标函数相似的优化方法,但是用凝聚分层(agglomerative hierarchical)的方法处理。
complete :最小化成对聚类间最远样本距离。
average :最小化成对聚类间平均样本距离值。
single : 最小化成对聚类间最近样本距离值。
输出
pkl 格式的模型,保存在后台生成的路径下。

Demo

预测阶段输入数据示例

示例中第一行为列名,最后一列为标签。
feature1,feature2,feature3,feature4,feature5,feature6,label
-0.7379798,0.3240978,0.27719212,-0.29189646,1.1431737,-0.92870927,0
1.0349396,-0.53264785,-0.18987797,-0.9390533,-0.12978475,-0.17435347,0
0.4409462,-0.82629377,-0.76937777,0.047904223,0.52395946,-0.044064667,0
-0.24455377,-0.7057573,0.52309793,-0.43790194,0.15547183,-0.18311355,0
-2.772272,3.2020333,-2.8999074,-4.2892537,-1.1407472,-2.8300557,1

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据包含 header 信息:是
*输入数据分隔符:逗号
*特征列:0-5
算法参数
*n_clusters :2
*affinity :euclidean
*linkage :ward

预测阶段输出数据示例

输出为一个 csv 文件,其中第一行为列名,最后一列 y_pred 为模型的预测值。
feature1,feature2,feature3,feature4,feature5,feature6,label,y_pred
-0.7379798000000001,0.3240978,0.27719212,-0.29189646,1.1431737,-0.92870927,0,0
1.0349396,-0.53264785,-0.18987797,-0.9390533000000001,-0.12978475,-0.17435347,0,0
0.44094620000000007,-0.82629377,-0.76937777,0.047904222999999996,0.52395946,-0.044064667,0,0
-0.24455377,-0.7057573,0.52309793,-0.43790194,0.15547183,-0.18311355,0,0
-2.772272,3.2020333,-2.8999074,-4.289253700000001,-1.1407472,-2.8300557,1,1

高斯混合模型(GaussianMixture)

原理

算法说明

GaussianMixture 是高斯混合模型,可用于聚类。该算子使用了高斯分布作为参数模型,并使用了期望最大(Expectation Maximization,简称 EM)算法进行训练。

参数配置

算法 IO 参数
*输入文件类型:格式包括以下两种:
csv :csv 文件
*输入数据包含 header 信息:默认为“是”。
*输入数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*输出文件类型:格式包括以下两种:
csv :csv 文件
*输出数据包含 header 信息:默认为“是”。
*输出数据分隔符:数据分隔符,默认为逗号,可下拉选择其他分隔符。
parquet :列式存储格式 parquet
*特征列:表示需要计算的特征所在列,例如“1-12,15”,表示取特征在表中的 1 到 12 列,15 列,从 0 开始计数。

最后的结果中,聚类结果会append到数据的最后一列。 n输出格式: 原始特征列 | 聚类结果 | 模型预测的概率值
算法参数
*模型保存格式:支持 ML 格式。
*k :聚类类别数。
maxIter :最大迭代次数。
tol :容忍误差下界,低于该值的时候,算法停止迭代。

Demo

输入数据示例

示例中第一行为列名,不含标签列。
A,B
0,0
1,1
1,0
0,1
3,0
4,0
3,1
4,1

参数配置

算法 IO 参数
*输入文件类型:csv
*输入数据包含 header 信息:是
*输入数据分隔符:逗号
*特征列:0-1
算法参数
*模型保存格式:ML
*k :2 。聚类结果分为两列

输出数据示例

只能选择 ML 格式的模型保存格式,其输出为一个 csv 文件,其中第一行为列名,第一列为预测的类别标签,最后两列为模型预测的概率值。
A,B,prediction,probability_0,probability_1
0.0,0.0,1,0.26668963298588777,0.7333103670141122
1.0,1.0,1,0.3888860752487384,0.6111139247512616
1.0,0.0,1,0.38888607524873847,0.6111139247512615
0.0,1.0,1,0.2666896329858872,0.7333103670141127
3.0,0.0,0,0.6746240415710795,0.3253759584289206
4.0,0.0,0,0.7942700213697306,0.20572997863026943
3.0,1.0,0,0.67462404157108,0.32537595842892003
4.0,1.0,0,0.7942700213697312,0.2057299786302688