使用dask聚类大数据集

时间:2019-05-09 15:11:05

标签: scikit-learn cluster-computing cluster-analysis dask dbscan

我已经安装了dask。我的主要目标是对大型数据集进行聚类,但是在开始进行工作之前,我想进行一些测试。但是,每当我要运行简单的代码段时,都会花费太多时间,并且最后会出现内存错误。我尝试了他们的Spectral Clustering Example和下面的短代码。

您认为出了什么问题?


from dask.distributed import Client
from sklearn.externals.joblib import parallel_backend
from sklearn.datasets import make_blobs
from sklearn.cluster import DBSCAN

import datetime

X, y = make_blobs(n_samples = 150000, n_features = 2, centers = 3, cluster_std = 2.1)
client = Client()

now = datetime.datetime.now()
model = DBSCAN(eps = 0.5, min_samples = 30)
with parallel_backend('dask'):
    model.fit(X)
print(datetime.datetime.now() - now)

1 个答案:

答案 0 :(得分:1)

Scikit-Learn算法并非旨在训练大型数据集。它们旨在对适合内存的数据进行操作。此处描述:https://ml.dask.org/#parallelize-scikit-learn-directly

类似Dask ML的项目的确有其他算法,它们看起来像Scikit-Learn,但实现方式不同,确实支持更大的数据集大小。如果您正在寻找群集,那么您可能会对此页面感兴趣,以查看当前受支持的内容:https://ml.dask.org/clustering.html