кластеризация большого набора данных с использованием DASK - PullRequest
1 голос
/ 09 мая 2019

Я установил dask .Моя главная цель - кластеризация большого набора данных, но прежде чем начать работу над ним, я хочу сделать несколько тестов.Однако всякий раз, когда я хочу запустить фрагмент кода dask, это занимает слишком много времени, и в конце появляется ошибка памяти.Я попробовал их Пример спектральной кластеризации и короткий код ниже.

Как вы думаете, в чем проблема?


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 Ответ

1 голос
/ 18 мая 2019

Алгоритмы Scikit-Learn не предназначены для обучения больших наборов данных.Они предназначены для работы с данными, которые помещаются в память.Это описано здесь: https://ml.dask.org/#parallelize-scikit-learn-directly

Проекты, подобные Dask ML, имеют другие алгоритмы, которые выглядят как Scikit-Learn, но реализованы по-другому, которые поддерживают большие наборы данных.Если вы ищете кластеризацию, то вам может быть интересна эта страница, чтобы увидеть, что в данный момент поддерживается: https://ml.dask.org/clustering.html

...