对于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((进行转换在某些领域可能会有所帮助
- 您的数据是稀疏的。永远不要标准化。(如果没有负值,规范化可能是"可以的"。(
选择缩放不应该被完成";因为它总是"完成"的;;但因为你有实际的数据!选择它是因为它是正确的,而不是因为它是"默认";或者在一些教程中。
如果你求助于标准化或标准化,你很可能不了解你的数据,也不了解如何测量距离或相似性;那么人们喜欢使用规范化作为最后手段来获得";一些";后果但你永远不知道结果是否有意义。