SOS

功能介绍

SOS (Stochastic Outlier Selection)是一种affinity based离群点检测算法。它通常用于过滤掉噪音样本,从而使得机器学习的模型更准确。

参数说明

名称 中文名称 描述 类型 是否必须? 默认值
perplexity 邻近因子 邻近因子。它的近似含义是当某个点的近邻个数小于”邻近因子”个时,这个点的离群score会比较高。 Double 4.0
vectorCol 向量列名 向量列对应的列名 String
predictionCol 预测结果列名 预测结果列名 String

脚本示例

脚本代码

  1. data = np.array([
  2. ["0.0,0.0"],
  3. ["0.0,1.0"],
  4. ["1.0,0.0"],
  5. ["1.0,1.0"],
  6. ["5.0,5.0"],
  7. ])
  8. df_data = pd.DataFrame({
  9. "features": data[:, 0],
  10. })
  11. data = dataframeToOperator(df_data, schemaStr='features string', op_type='batch')
  12. sos = SosBatchOp().setVectorCol("features").setPredictionCol("outlier_score").setPerplexity(3.0)
  13. output = sos.linkFrom(data)
  14. output.print()

脚本运行结果

features outlier_score
1.0,1.0 0.12396819612216292
0.0,0.0 0.27815186043725715
0.0,1.0 0.24136320497783578
1.0,0.0 0.24136320497783578
5.0,5.0 0.9998106220648153