Written on
·
180
0
강사님의 강의 잘 듣고 있습니다!
그런데 공부 도중, [7. 분석 파일럿 실행 5단계 03]에서 mahout 의 canopy 분석에 대한 궁금증이 생겨서 여쭤봅니다.
강의 과정에서는 K-means에 사용할 최적의 K값을 찾기위해 canopy 분석을 한다고 말씀해주셨고,
여러 복잡한 과정을 거쳐 t1=12, t2=10 으로 하여 최적의 K값을 약 200으로 잡으셨다고 하셨습니다.
그런데 이 과정이 그냥 원하는 K값이 나올 때까지 계속 t1, t2에 주관적으로 값을 넣어보는... 이른바 답정너 느낌이었습니다;;ㅋ
그럴거면 그냥 canopy분석은 생략하고, 처음부터 마음속으로 정해둔 K값인 200으로 바로 K-means 군집분석을 해도 될텐데 말이죠...
그래서 제 생각엔 내가 원하는 K가 나올때까지 t1과 t2에 아무 숫자나 막 넣어보는게 아니라, 적절한 t1과 t2를 구하는 어떤 수학적 규칙이나 공식이 있을테고 그것을 통해 컴퓨터가 계산해낸(인간의 주관이 빠진) K값을 사용해야할 것 같은데... 아마 강의 난이도 때문인지 그부분은 생략하신 것 같습니다.
그래서 결론은...
1. 정말 t1, t2에 아무 숫자나 넣어보면서 주관적으로 적당하다 생각하는 K값이 나올때까지 돌려봐야 하나요?
2. 아니면 적절한 t1, t2를 찾는 어떤 규칙이나 공식 혹은 기준이 있나요?
3. 만약 1번이라면, "데이터가 2600개 있으니까 K는 200정도면 괜찮겠네!"라고 하면서 canopy는 생략하고 처음부터 K-means를 해도 되지 않나요?
Answer 1
0
안녕하세요! 빅디 입니다.
아~주 어려운 질문을 주셨네요..^^;;
1. 정말 t1, t2에 아무 숫자나 넣어보면서 주관적으로 적당하다 생각하는 K값이 나올때까지 돌려봐야 하나요?
--> 네~ 그렇습니다. 캐노피를 사용할땐 이 t값이 또 고민이기도 합니다. 그럼에도 불구하고 캐노피의 장점은 빠른 속도로 t값을 다양하게 바꿔가며 테스트를 해도 부담이 크지 않다는것에 있습니다. 또 초기 t값을 잡을때 꼭 아무 숫자나 넣지는 않습니다. 데이터의 특성을 알고 있으면, 거리값이 크게 형성 되는 경우를 어느정도 예상 할수 있기 때문에 이런경우 초기 t값을 크게잡고 시작 하기도 합니다.
2. 아니면 적절한 t1, t2를 찾는 어떤 규칙이나 공식 혹은 기준이 있나요?
--> 머하웃을 현장에서 사용해본게 오래전이긴 한데요...그때만 해도 t값을 찾는 특별한 방법은 없었습니다.
3. 만약 1번이라면, "데이터가 2600개 있으니까 K는 200정도면 괜찮겠네!"라고 하면서 canopy는 생략하고 처음부터 K-means를 해도 되지 않나요?
--> 네~ 그러셔도 됩니다. 군집에는 정답이 없습니다. 최적의 군집을 찾기 위한 반복적인 시도로 탐색을 통해 인사이트를 얻는것이 중요하기 때문입니다. 대신 K-menas는 Canopy에 비해 수행 시간이 오래 걸리기 때문에 효율성을 고려해서 진행 하시면 됩니다.
- 빅디 드림
ps. 파일럿 프로젝트의 데이터, 아키텍처, 기능, 서비스들은 시나리오에 맞춰진 "답정너"가 맞습니다. ^^;
그렇군요. 빠른 답변 감사합니다!!