DBSCAN
模型接口类别 |
函数接口 |
---|---|
ML API |
def fitPredict(dataset: Dataset[_]): DataFrame |
- 输入输出
- 包名:org.apache.spark.ml.clustering
- 类名:DBSCAN
- 方法名:fitPredict
- 输入:Dataset[_],训练样本数据,必须字段如下。
参数名称
取值类型
缺省值
描述
featuresCol
Vector
features
特征向量
- 基于原生算法优化的参数。
1 2 3
def setMinPoints(value: Int): DBSCAN.this.type def setEpsilon(value: Double): DBSCAN.this.type def setSampleRate(value: Double): DBSCAN.this.type
- epsilon为DBSCAN算法的近邻距离参数,取值范围大于0.0。
- minPoints为DBSCAN算法定义核心点的近邻点个数阈值参数,取值范围大于1。
- sampleRate为对输入数据的采样率,基于采样数据用来对全量输入数据进行空间划分,取值范围为(0.0, 1.0],缺省值为1.0,代表默认使用全量输入数据。
代码接口示例:
1 2 3 4
val model = new DBSCAN() .setEpsilon(params.epsilon) .setMinPoints(params.minPoints) .setSampleRate(params.sampleRate)
- 输出:聚类结果,字段如下。
参数名称
取值类型
缺省值
描述
predictionCol
Int
prediction
该样本所属类别:
- 对于noise样本,其类别为-1。
- 对于core样本,其类别为0。
- 对于border样本,其类别为1。
labelCol
Int
label
该样本所属聚类编号:
- 对于noise样本,其所属聚类编号默认为-1。
- 对于core/border样本,其所属聚类编号≥0。
- 使用样例
1 2 3 4 5
val dbscan = new DBSCAN() .setEpsilon(0.2) .setMinPoints(3) .setSampleRate(1.0) val result = dbscan.fitPredict(trainData)
父主题: 聚类