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