2012-12-20 2 views
2

C#으로 구현 한 K-Means Clustering에 대한 입력으로 100 x 13 벡터가 있습니다. 내가 OxyPlot, ZedGraph 등과 같은 2D 및 3D 플롯 라이브러리의 예를 보았다 그러나 N 차원 데이터를 플롯의 예를 찾을 수 없습니다Plot K-Means 다차원 벡터 클러스터

나는 (여기서 내 클러스터링 즉, 13 차원 데이터 포인트의 결과를 플롯 할 N> 3이고 내 경우 N = 13).

C#에서이 문제를 어떻게 해결할 수 있습니까?

+0

아직 .NET 용 OxyPlot 만 설치했으나 실제로 멀티 딤플 플로팅을 시도하는 예제를 찾을 수 없습니다 .. –

+2

치수 감소에 대한 '주성분 분석'을보고 처음 두 개/세 개를 플롯합니다 결과의 차원. 'R'에는 이러한 도구가 있습니다. 따라서 데이터를 텍스트로 내보내고'R'으로 읽을 수 있습니다. –

+0

N> 3 차원 데이터를 플로팅 하시겠습니까? – kamaci

답변

5

글쎄, 13 차원 디스플레이가 있습니까? 그러면 13 차원 데이터를 플로팅하는 것이 쉬울 것입니다.

2 차원을 초과하는 내용이 있다면 (실제로는 2 차원에서도 투영이 필요합니다)의 어떤 종류의 이 필요합니다. 시간 (= 애니메이션)을 추가하면 투영을 회전하여 3 차원을 합리적으로 시각화 할 수 있습니다.

  • 차원 축소 :

    그래서 이상 3 차원 시각화, 두 매우 인기있는 기술이있다. 여기에는 PCA를 사용하여 높은 분산의 축을 식별하는 것이 포함됩니다. 또는 다차원 스케일링을 시도 할 수도 있습니다.

  • 병렬 좌표. 각 치수에는 축이 지정되지만 축은 교차하지 않지만 평행하게 그려집니다. 각 벡터는 더 이상 점이 아니라 축을 적절한 높이로 연결하는 선입니다. 따라서 벡터 (1,2,0)는 첫 번째 축에서 1에서 두 번째 축에서 2로, 세 번째 축에서 0으로가는 폴리 라인입니다.

  • 웃는 얼굴, 글리프 및 유사한 시각화 기술과 같은 것들이 더 있습니다. 데이터 시각화에 대한 강의 슬라이드를 준비하고 이러한 기술 중 일부를보아야합니다.

병렬 좌표의 예를 보려면 ELKI로 설정 데이터를로드하고이 K-수단을 실행할 수 있습니다. 두꺼운 선은 평행 좌표 플롯의 수단을 나타내야하며가는 선은 데이터 인스턴스입니다.