강의

멘토링

커뮤니티

Inflearn Community Q&A

rjqnrdl4241637's profile image
rjqnrdl4241637

asked

[Revised Edition] The Complete Guide to Python Machine Learning

meanshift

Written on

·

462

0

estimate_bandwidth에서 quantile이 의미하는 바가 궁금합니다 !

머신러닝 배워볼래요? python통계

Answer 1

0

dooleyz3525님의 프로필 이미지
dooleyz3525
Instructor

안녕하십니까,

estimate_bandwidth()는 내부적으로 kernel bandwidth를 정하기 위해 KNN 기법을 이용합니다.

이때 KNN을 수행하는 데이터의 건수를 전체 데이터 * quantile 로 정합니다. 전체 데이터가 100건이고 quantile=0.3 이면 30건을 대상으로 KNN으로 클러스터링을 수행합니다. 이후 같은 클러스터 내의 데이터간 평균 거리(average pairwise distances) 를 기반으로 bandwidth를 정합니다. 

일반적으로 quantile이 크면 bandwidth 값이 커져서 Mean Shift의 클러스터 개수가 작아지고, quantile이 작으면 bandwidth 값이 작아져서 Mean Shift의 클러스터 개수가 많아집니다.

부족하게도 KNN기법으로 어떻게 데이터의 kernel bandwidth를 결정하는지의 상세 로직은 제가 정확하게 잘 모르겠습니다.

해당 답변은 https://stackoverflow.com/questions/28335070/how-to-choose-appropriate-quantile-value-while-estimating-bandwidth-in-meanshift

을 참조하여 작성하였습니다.  

감사합니다.

rjqnrdl4241637's profile image
rjqnrdl4241637

asked

Ask a question