Cluster computing 如何在python中为点列表使用DBSCAN算法
我不熟悉图像处理和python编码。 我在一幅图像中检测到许多特征,并将它们各自的像素位置以列表格式放置Cluster computing 如何在python中为点列表使用DBSCAN算法,cluster-computing,dbscan,Cluster Computing,Dbscan,我不熟悉图像处理和python编码。 我在一幅图像中检测到许多特征,并将它们各自的像素位置以列表格式放置 My_list = [(x1,y1),(x2,y2),......,(xn,yn)] 我想使用DBSCAN算法从以下几点形成集群。 目前正在使用sklearn.cluster导入python的内置DBSCAN函数。 如果点的当前格式不兼容,您想知道哪个是兼容的吗 当前格式当前面临的错误: C:\Python\python.exe "F:/opencv_files/dbscan.py"
My_list = [(x1,y1),(x2,y2),......,(xn,yn)]
我想使用DBSCAN算法从以下几点形成集群。
目前正在使用sklearn.cluster导入python的内置DBSCAN函数。
如果点的当前格式不兼容,您想知道哪个是兼容的吗
当前格式当前面临的错误:
C:\Python\python.exe "F:/opencv_files/dbscan.py"
**Traceback (most recent call last):**
**File "**F:/opencv_files/dbscan.py**", line 83, in <module>
db = DBSCAN(eps=0.5, min_samples=5).fit(X) # metric=X)**
**File "**C:\Python\lib\site-packages\sklearn\cluster\dbscan_.py**", line 282, in fit
X = check_array(X, accept_sparse='csr')
File "**C:\Python\lib\site-packages\sklearn\utils\validation.py**", line 441, in check_array
"if it contains a single sample.".format(array))
ValueError: Expected 2D array, got 1D array instead:
array=[].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.**
C:\Python\Python.exe“F:/opencv\u文件/dbscan.py”
**回溯(最近一次呼叫最后一次):**
**文件“**F:/opencv_files/dbscan.py**”,第83行,在
db=DBSCAN(eps=0.5,最小样本数=5)。拟合(X)#公制=X)**
**文件“**C:\Python\lib\site packages\sklearn\cluster\dbscan_uuzy.py**”,第282行,以fit格式
X=检查数组(X,接受
文件“**C:\Python\lib\site packages\sklearn\utils\validation.py**”,第441行,在check\u数组中
“如果它包含单个样本。”。格式(数组))
ValueError:应为2D数组,而应为1D数组:
数组=[]。
使用数组重塑数据。如果数据具有单个特征或数组,则重塑(-1,1)。如果数据包含单个样本,则重塑(1,-1)**
您的数据是元组的列表。在这个结构中没有任何东西可以阻止你用它做疯狂的事情,比如在里面有不同的长度。另外,这是一种非常缓慢且内存效率低下的数据保存方式,因为所有内容都作为Python对象装箱
只需调用data=numpy.array(data)
即可将数据转换为高效的多维数字数组。这个数组将有一个形状
为什么不试试呢?如果出现任何错误,错误是什么?