2016-08-22 3 views
0

Spark에서 특정 클러스터에 속한 데이터 포인트를 검색하려고합니다. 다음 코드에서는 데이터가 작성되었지만 실제로 클러스터 된 예측값을 얻습니다. 나는 사람들을 얻는 방법 클러스터 번호 (100)에 속하는 모든 데이터 포인트를 가지고 싶습니다 지금Spark : 클러스터 포인트 (KMeans)를 얻는 방법

import numpy as np 
# Example data 
flight_routes = np.array([[1,3,2,0], 
          [4,2,1,4], 
          [3,6,2,2], 
          [0,5,2,1]]) 
flight_routes = sc.parallelize(flight_routes) 
model = KMeans.train(rdd=flight_routes, k=500, maxIterations=10) 

route_test = np.array([[0,2,3,4]]) 
test = sc.parallelize(route_test) 

prediction = model.predict(test) 
cluster_number_predicted = prediction.collect() 

print cluster_number_predicted # it returns [100] <-- COOL!! 

: 여기

내가 지금까지 가지고있는 코드는? 내가 원하는 것은이 질문에 대한 답변과 같습니다. Cluster points after Means (Sklearn)

감사합니다.

+0

어떻게 filter''에 대한? – zero323

+0

당신의 의견을 좀 더 자세하게 설명 할 수 있습니까? (예 : CLUSTER = 100). show()''' – davideberdin

+0

구체적인 예를 제시하지 않으면 작동하지 않습니다. – davideberdin

답변

0

경우 기록 및 예측 (그리고 ML 스파크로 전환하려하지) 모두 할 수 있습니다 zip RDDs :

predictions_and_values = model.predict(test).zip(test) 

, 그 후 필터 :

predictions_and_values.filter(lambda x: x[1] == 100)