Python DBSCAN内存不足

Python DBSCAN内存不足,python,machine-learning,cluster-analysis,Python,Machine Learning,Cluster Analysis,所以我一直在使用DBSCAN来查找和删除数据集中的异常值,我使用的是googlecolab,它给了我大约25.63gb的内存。我需要将eps值设置为2.0以上,但一旦超过2.0,代码就会使用所有内存,并崩溃。我真的不知道该怎么做来修复它,我会附上我的代码,对于toe错误消息,我没有得到任何谷歌COlab只是说重新启动,因为它耗尽了内存 我的代码: import numpy as np import pandas as pd import matplotlib.pyplot as plt %

所以我一直在使用DBSCAN来查找和删除数据集中的异常值,我使用的是googlecolab,它给了我大约25.63gb的内存。我需要将eps值设置为2.0以上,但一旦超过2.0,代码就会使用所有内存,并崩溃。我真的不知道该怎么做来修复它,我会附上我的代码,对于toe错误消息,我没有得到任何谷歌COlab只是说重新启动,因为它耗尽了内存

我的代码:

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

%matplotlib inline

from sklearn.cluster import DBSCAN



df = pd.read_csv('Final After Simple Filtering.csv',index_col=None,low_memory=True)


# Dropping columns with low feature importance
del df['AmbTemp_DegC']
del df['NacelleOrientation_Deg']
del df['MeasuredYawError']





DBSCAN = DBSCAN(eps = 2.0, min_samples =100).fit_predict(df)

labels = DBSCAN.labels_


n_clusters_ = len(set(labels))
n_noise_ = list(labels).count(-1)
print('Estimated number of clusters: %d' % n_clusters_)
print('Estimated number of noise points: %d' % n_noise_)



谢谢。

您能告诉我您使用的是哪个版本的Scikit learn吗?这是否回答了您的问题@如果我使用的是0.22.1版,我现在将阅读链接页面。非常感谢。@alift所以我读了这页,有一些建议的解决方案,其中一个是使用ELKI,我不喜欢。我将尝试将算法更改为“kd_树”或将度量更改为“haversine”,如果其中任何一个不起作用,他们建议使用类似于DBSCAN的光学元件,尽管我更愿意找到解决方案并使用DBSCAN