scikit-learn-contrib / hdbscan

A high performance implementation of HDBSCAN clustering.
http://hdbscan.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
2.81k stars 506 forks source link

OSError: [WinError 87] The parameter is incorrect #591

Open hh2564 opened 1 year ago

hh2564 commented 1 year ago

Hello, I'm trying to cluster using the following lines

X_scale = StandardScaler().fit_transform(dfdc1) clusterer = hdbscan.HDBSCAN(min_cluster_size= 100,min_samples=600, core_dist_n_jobs=12) clusterer.fit(X_scale)

Which gives me the following error


"""
Traceback (most recent call last):
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\joblib\externals\loky\process_executor.py", line 359, in _sendback_result
    result_queue.put(_ResultItem(work_id, result=result,
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\joblib\externals\loky\backend\queues.py", line 244, in put
    self._writer.send_bytes(obj)
  File "C:\Users\26982\anaconda3\envs\Project\lib\multiprocessing\connection.py", line 205, in send_bytes
    self._send_bytes(m[offset:offset + size])
  File "C:\Users\26982\anaconda3\envs\Project\lib\multiprocessing\connection.py", line 285, in _send_bytes
    ov, err = _winapi.WriteFile(self._handle, buf, overlapped=True)
OSError: [WinError 87] The parameter is incorrect
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\Project\cal_date.py", line 82, in <module>
    clusterer.fit(X_scale)
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\hdbscan\hdbscan_.py", line 1189, in fit
    ) = hdbscan(clean_data, **kwargs)
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\hdbscan\hdbscan_.py", line 821, in hdbscan
    (single_linkage_tree, result_min_span_tree) = memory.cache(
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\joblib\memory.py", line 349, in __call__
    return self.func(*args, **kwargs)
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\hdbscan\hdbscan_.py", line 325, in _hdbscan_boruvka_kdtree
    alg = KDTreeBoruvkaAlgorithm(
  File "hdbscan\_hdbscan_boruvka.pyx", line 392, in hdbscan._hdbscan_boruvka.KDTreeBoruvkaAlgorithm.__init__
  File "hdbscan\_hdbscan_boruvka.pyx", line 426, in hdbscan._hdbscan_boruvka.KDTreeBoruvkaAlgorithm._compute_bounds
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\joblib\parallel.py", line 1056, in __call__
    self.retrieve()
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\joblib\parallel.py", line 935, in retrieve
    self._output.extend(job.get(timeout=self.timeout))
  File "C:\Users\26982\anaconda3\envs\Project\lib\site-packages\joblib\_parallel_backends.py", line 542, in wrap_future_result
    return future.result(timeout=timeout)
  File "C:\Users\26982\anaconda3\envs\Project\lib\concurrent\futures\_base.py", line 458, in result
    return self.__get_result()
  File "C:\Users\26982\anaconda3\envs\Project\lib\concurrent\futures\_base.py", line 403, in __get_result
    raise self._exception
OSError: [WinError 87] The parameter is incorrect```

Process finished with exit code 1

I'm wondering what might be the potential issue of causing this problem and what I can do to solve it, many thanks in advance!
Cipher-zzz commented 2 months ago

Same issue here OSError: [WinError 87]