기능. 위치 및 인접한 온도에 따라 인근 대상을 클러스터링하기위한 평균 제곱 클러스터링 알고리즘을 시도, 즉 고온 및 저온 영역을 식별합니다. 다음은 코드 및 작은 샘플 데이터입니다. 하지만 기본적으로 단일 클러스터 만 제공하지만 그래프를 표시 할 수는 없습니다. 나는 다음과 같은 코드에서 잘못 될 일을 알고 싶습니다 :3-4 구성된 클러스터링 사용자 정의 데이터를 시프트 알고리즘을 의미 I는 오브젝트 이름, x_coordinate, y_coordinate과 대응하는 온도로 구성 데이터를 클러스터링 싶지
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import pandas as pd
from sklearn.decomposition import PCA
from sklearn.cluster import MeanShift, estimate_bandwidth
import matplotlib.pyplot as plt
from itertools import cycle
data = pd.read_csv("data.csv")
centers = [[1, 1, 1], [0,0,0], [0,0,0]]
X= data._get_numeric_data()
bandwidth = estimate_bandwidth()
ms = MeanShift()
ms.fit(X)
labels = ms.labels_
cluster_centers = ms.cluster_centers_
print labels
print cluster_centers
fig = plt.figure()
ax = plt.axes(projection='3d')
x = data['x_cordinate']
y=data['y_cordinate']
z=data['tpa']
c=labels
ax.scatter(x,y,z, c=c)
plt.show()
Data.csv :
이름, x_cordinate, y_cordinate, 온도
Ctrs3,518920068590000.3998434286
Ctrs4,5173360을, 6812800,0.4779542857
Ctrs5,566044068128000.7044195918
Cstrs3,193540059297200
Cstrs4,1953880,5929720,0
Cstrs5,491320,2689120,0 012 인수 (데이터)가 필요 estimate_bandwidth 3, Cltrs3,3436240,5884840,0.3998434286
Cltrs4,3296320,5884840,0.4779542857
Cltrs5,542680057251200.7044195918
그래, 나는 또한 기본값으로 시도하고 0.5 값을 변화, 약 20여 시간 동안 실행 방법과 실제로 사용하는 코드와 데이터를 게시에 대한 하나 개의 클러스터 – Harshad
을했다? 위의 코드는 500 개 항목 (당신이 9 제공 한)의 배치로 작동 estimate_bandwidth 때문에 고정 구문 오류로 실행되지 않습니다 때문에 구문 오류로 실행되지 않으며, MeanShift 생성자에 직접 그럴듯한 대역폭을 제공 한 후 실행되지 않습니다 (1.5e6) 코드의 표시 부분에서 잘못 명명 된 열 때문에. 당신이 제공하는 경우, 데이터가 심하게 meanshift 같은 거리 방법에서 직접 사용할 수 (임시 저울 대 x와 y)를 축소 또는 – welch
에 관한 데이터 파일이 너무 공유 너무 큰 kmeans되어 나는 열정이 부족했거나 나는 지적 것 이메일 또는 클라우드 저장소 ID 또는 다른 방법으로 공유 할 수 있습니다. 대한 kmeans 데이터는 클러스터의 n 개의 번호를 클러스터링 할 수 있지만, 나는 또한 평균 이동의 도움으로, kmean 및 밀도 기반 알고리즘을 사용하여 클러스터의 정확한 차이를 찾기 위해 노력하고있다 – Harshad