对于 DBSCAN python,是否必须同时进行标准化和规范化?

For DBSCAN python, is it mandatory to do Standardization and normalization both?

对于 DBSCAN 实现,是否需要将所有特征列标准化和规范化?

例如

[[ 664.      ,  703.      , 2901.069079],  
[ 632.      ,  717.      , 2901.069079],  
[ 606.      ,  740.      , 4386.449399],    
[ 635.      ,  751.      , 4386.449399],   
[ 672.      ,  525.      , 4760.874001]]

如果我必须对此进行 DBSCAN,是否必须先对其进行标准化,然后再对其进行标准化?只是规范化吗?

此外,这些值如何决定 eps 的选择?

规范化或标准化您的数据会破坏 数据集的重要属性。

一些示例:

  • 您的数据是地理坐标。纬度和经度绝不能标准化或标准化
  • 您的数据是直方图。唯一有意义的归一化是使直方图的总和为1。永远不要变换单个变量!
  • 你的数据有一个有意义的零。例如,它是货币价值。不过,使用 sgn(x)*sqrt(abs(x)) 进行转换在某些领域可能会有帮助。
  • 您的数据稀疏。从不标准化。 (如果您没有负值,标准化可能是 'okay'。)

选择缩放不应该“因为它总是被完成”;但由于您拥有的实际数据!选择它是因为它是正确的,而不是因为它是“默认”或在某些教程中。

如果您求助于归一化或标准化,很可能您不了解您的数据,也不了解如何衡量距离或相似性;然后人们喜欢使用归一化作为最后的手段来获得“一些”结果;但你永远不知道结果是否有意义。