2017-11-29 8 views
-1

나는 이미지 처리와 파이썬 코딩에 익숙하지 않다. 이미지에서 여러 가지 기능을 감지했으며 각 픽셀 위치를 목록 형식으로 배치했습니다.DBSCAN 알고리즘을 파이썬의 포인트 목록에 사용하는 방법

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.** 
+0

왜 시도하지 않으시겠습니까? 오류가 발생하면 오류는 무엇입니까? –

답변

0

귀하의 데이터 tuplelist입니다. 이 구조에는 길이가 다른 것과 같이 미친 일을하지 못하게하는 요소는 없습니다. 게다가, 모든 것이 파이썬 객체로 묶여 있기 때문에 데이터를 보관하는 것은 매우 느리고 메모리 비효율적 인 방법입니다.

데이터를 효율적인 다차원 숫자 배열로 변환하려면 data = numpy.array(data)으로 전화하십시오. 이 배열은 shape이됩니다.

관련 문제