Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 给定一个具有正常值和异常值的数据集,是否有任何标准的方法来找到epsilon的正常值以实现DBSCAN。_Python 2.7_Cluster Analysis_Hierarchical Clustering_Outliers_Dbscan - Fatal编程技术网

Python 2.7 给定一个具有正常值和异常值的数据集,是否有任何标准的方法来找到epsilon的正常值以实现DBSCAN。

Python 2.7 给定一个具有正常值和异常值的数据集,是否有任何标准的方法来找到epsilon的正常值以实现DBSCAN。,python-2.7,cluster-analysis,hierarchical-clustering,outliers,dbscan,Python 2.7,Cluster Analysis,Hierarchical Clustering,Outliers,Dbscan,我正在对一些数据进行DBSCAN的个人实现,但当我必须为我必须使用的每种数据集动态查找epsilon时,我遇到了问题,因为在实现DBSCAN之前,epsilon的平均值也考虑了异常值,因此结果epsilon也具有异常值的影响,这对我来说是个问题。有什么办法可以解决这个问题吗 这是计算特定数据集ε的代码部分: xmax = np.max(X,axis = 0) xmin = np.min(X,axis = 0) min_max = xmax-xmin k = 10 eps = (min_max[0

我正在对一些数据进行DBSCAN的个人实现,但当我必须为我必须使用的每种数据集动态查找epsilon时,我遇到了问题,因为在实现DBSCAN之前,epsilon的平均值也考虑了异常值,因此结果epsilon也具有异常值的影响,这对我来说是个问题。有什么办法可以解决这个问题吗

这是计算特定数据集ε的代码部分:

xmax = np.max(X,axis = 0)
xmin = np.min(X,axis = 0)
min_max = xmax-xmin
k = 10
eps = (min_max[0]*min_max[1]*k/(len(X)*math.pi))**0.5

我使用了numpy模块中的一些函数,如max、min。

如果找到合适的epsilon值是一个主要问题,那么真正的问题可能早在那之前就存在了:您可能一直在使用错误的距离度量,或者您可能有一个预处理问题

您的代码看起来很像一种幼稚的预处理方法——这就是它的工作原理


同时阅读DBSCAN论文。作者在第4.2节中提出了一种选择ε的方法,您可以将其自动化…

阅读您的评论后,您有以下选择: 1.光学元件 2.桦木 3.均值漂移算法 4.局部离群因子
5.最困难的,但在你的情况下最好的(据我所知):使用神经网络

我的数据集有一个特点,即点在二维空间中的分布不是以斑点的形式,而是有点像不连续曲线,这使得实现epsilon近似方法变得很困难,如原始DBS第4.2节中所讨论的那样。你可以选择不需要设置epsilon的光学器件吗?我正在研究光学器件,但考虑到没有Python实现,我需要时间。同时,为了“研究”的目的,我需要使用DBscan产生良好的结果Selki有一个完全工作的光学实现。如果结果对你有用,你可以在自己实现之前试试。还要注意,实现的可用性并不意味着它是一个好的实现。比较scipy的kmeans和sklearn的kmeans。一个巨大的不同,当我第一次看到它的时候,我简直不敢相信。(也许在下一个版本中它会消失)太多的算法。。!!你喜欢数据挖掘还是什么?