일단 2번 사진이 클러스터링 하고 있는 거.



빨간색 점이 무작위로 뽑아낸 무게 중심점이고,



초록색 점이 클러스터링 한 결과를 전체 평균해서 다시 무게중심점을 잡아낸 거.



이거를 루프로 돌려서 평균에 수렵하도록 잡아내면 끝나는 거 같음. 위키 문서 읽어보니까 이렇게 하더라구?





그러다 위키 문서에서 '한계점'이라는 문서를 읽어봤는데,



클러스터링 결과물이 꼭 만족스럽지 않을 경우가 있더라구?




그래서 내가 예전에 지도 가지고 놀 때 써봤던 클러스터링을 찾아봤쥐. 그게 1번 사진.




지금 1번사진을 다시 보니까 좌표평면상에서 그리드를 그리고 그 그리드 안에 있는 좌표점들을 그냥 네모칸에 맞게 묶어놓기만 해 놓았네? 저거 보니까 딱 보인다.





내가 써봤던 건 저거 아닌데.












다시 찾아보니까 여깃넹.




이거지.



이거는 저 위의 사진처럼 그리드로 그려서 클러스터링 한 게 아니라, 사진만 보더라도 반경 값으로, 그러니까 거리로 클러스터링 했단 말이지?



저거 다 거리값으로 인근 거리를 중심점으로 잡고 가져온 거임. 맵 줌인아웃만 해보더라도 차이가 남.






일단 RxMeans 알고리즘 + k Means 알고리즘으로 라이브러리 만들면 이 방식으로 처리하는 것도 만들어야겠음.




예상해보기로 루프로 포인트들마다 잡고 무게중심점을 그 뒤에 잡아낸 것으로 보임. 먼저 무게중심점을 찾아내는 게 아니라 포인트와 포인트를 먼저 계산하고 그 다음에 무게중심점을 잡아내야만 저게 될 거 같거든.






그리고 K-Means 할 때 보니까, 평균이라고 말하는데, 평균도 여러 개 있지 않냐? 산술 평균하고 무슨 평균하고 무슨 평균 있었던 거 같은데? 그 중에 무슨 평균인지 그냥 평균이라고만 말해서 헷갈렸음. 그래서 그냥 내가 아무 평균이나 씀. 어차피 똑같아 보이는데 뭐.




그리고 저거 단계별로 사용자가 직접 확인해서 클러스터링 하는 '과정'을 볼 수 있도록 만드러야 될 테니까,



기타 이거저거 만들 생각하니 졸리더라.



머리로는 이미 다 만들었는데, 아, 이런 것까지 다 만들어줘야 하나? 하고 생각하니까 졸리더라.




졸리니까 그만 퇴근할까- 하다가 아직 8시밖에 안 됐네? 하고 생각하니, 시간이 애매해서 디시에 적고 있음. 아 고민해보고 퇴근할지 말지 정해야지.