我已经安装了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)
答案 0 :(得分:1)
Scikit-Learn算法并非旨在训练大型数据集。它们旨在对适合内存的数据进行操作。此处描述:https://ml.dask.org/#parallelize-scikit-learn-directly
类似Dask ML的项目的确有其他算法,它们看起来像Scikit-Learn,但实现方式不同,确实支持更大的数据集大小。如果您正在寻找群集,那么您可能会对此页面感兴趣,以查看当前受支持的内容:https://ml.dask.org/clustering.html