@lesshasteã«ãã£ãŠææ¡ãããããã«
çŽ-httpïŒ//cbio.ensmp.fr/~jvert/svn/bibli/local/Gower1971general.pdf
ååãªé¢å¿ãããã°ããããå®è£ ã§ããŸããïŒ
@jnothman @amueller @agramfort
ããããšãã
Rããã®daisy
ã«é¢ãããã®ããã¥ã¡ã³ãã¯ã httpsïŒ//stat.ethz.ch/R-manual/R-devel/library/cluster/html/daisy.htmlã®äžè¬çãªäœ¿çšäŸã§ãããããé¢é£æ§ãããå¯èœæ§ããã
ã©ããææ¡ããŸãããïŒ ã©ã®ãããªç¶æ³ã§ïŒ
@agramfortç§ã¯daisy()
ãŸãïŒhttps://cran.r-project.org/web/packages/cluster/cluster.pdfã®27ããŒãžãåç
§ïŒã ã ããäžè¬çã«ã¯ã httpïŒ//www.clustan.talktalk.net/gower_similarity.htmlã¯ããGowerã®äžè¬çãªé¡äŒŒæ§ä¿æ°ã¯ãæ··åããŒã¿åã®è¿æ¥æ§ã®æãäžè¬çãªå°ºåºŠã®1ã€ã§ãããšäž»åŒµããŠããŸãã ããã¯ãã£ãšãããã䞻匵ã®ããã§ãã
ãããåæ©ä»ãããã³ãããŒã¯ãŸãã¯èª¬åŸåã®ããäŸã¯ãããŸããïŒ
@agramfortçŸåšãæ··åããŒã¿åã®éé¡äŒŒåºŠä¿æ°ãèšç®ããä»ã®æ¹æ³ããªããšããããšã¯ãã£ãšå€ããšæããŸããããã¯æšæºçãªæ¹æ³ã®ããã§ãã ã¬ã¯ãŒä¿æ°ãšã¯äœãã説æããããæ··åããŒã¿åã§ã®äœ¿çšãææ¡ãããããäŸã質å/åçããªã³ã©ã€ã³ã§ããããèŠã€ããããšãã§ããŸããããã³ãããŒã¯ãšã¯èšããŸããã Googleã®åŠè ã«ãããšãå ã®è«æã¯2298ååŒçšãããŠããŸãã
ããããŸãããç§ã¯ç¢ºä¿¡ããŠããŸã:)
@agramfortçŽ æŽãããïŒ ãã®å€æŽã«ããã httpsïŒ//github.com/scikit-learn/scikit-learn/pull/4899ãé©åã«è£å®ãããããªãŒã®ãã€ãã£ãã«ããŽãªå€æ°ã®ãµããŒããå°å ¥ãããŸãã
ããã¯èšã£ãŠããscikit-learnã¯çŸåšãåºæ°ããã€ãã£ãã§ãµããŒãããŠããªãããšã«æ°ã¥ããŸããããã®ãããç§ã®ææ¡ã®ãã®éšåã¯ãå°ãååãã«ãªã£ãŠããã§ãããã åºæ°ã®æ©èœããµããŒãããããã®æåã®ã¹ããããšããŠãååããªæ¹æ³ã§ãããèããããšãã§ãããšæããŸãã
@amueller [New Feature]
ã§ã¿ã°ä»ãããã..ã
ããã
äœããã®åœ¢ã§è²¢ç®ããããã«ãå ã®è«æã«åŸã£ãŠGoweré¢æ°ãå®è£ ããpdistã¢ãžã¥ãŒã«ã§å¿ èŠãªããããã®é©å¿ãå®è£ ããŸãããããã¯ãå éšã§pdistãããã€ãã®æ°å€å€æãè¡ããããæ··åããŒã¿ã®è¡åã䜿çšãããšå€±æããŸãã
ãããŸã§ã«åŸãçµæã¯ãRã®ãã€ãžãŒé¢æ°ãšåãã§ãã
ãœãŒã¹ã³ãŒãã¯ã次ã®jupyterããŒãããã¯ã§å ¥æã§ããŸãïŒ https ïŒ//sourceforge.net/projects/gower-distance-4python/files/
ãæ°è»œã«ãå©çšãã ãã
ããã«é¢ããæŽæ°ããããã©ããçåã«æã£ãŠããŸãããïŒ ããã«ã @ marcelobeckmannã«ãã£ãŠææãããåé¡ã¯ãŸã é¢é£ããŠããŸããïŒ
@ ashimb9 @ marcelobeckmannã®ã³ãŒããçµ±åãã人ãå¿ èŠãªããã§ã
@agramfortããŒãããã®å Žåã¯ãæãªãšãã«è¡ã£ãŠã¿ãŸãã ã¡ãªã¿ã«ãäžèšã®åé¡ã®çŸåšã®ç¶æ ã«ã€ããŠäœãç¥ã£ãŠããŸããïŒãpdistã¢ãžã¥ãŒã«ã§ã¯ãå éšçã«pdistãããã€ãã®æ°å€å€æãè¡ããããæ··åããŒã¿ã®è¡åã䜿çšãããšå€±æããŸãã
ããã«ã¡ã¯ãpdistã«ã¯ãåºã«ãªãããŒã¿ãå®å šã«æ°å€ã§ãããšæ³å®ãããã©ã€ããŒãé¢æ°ïŒ_convert_to_doubleã_copy_array_if_base_presentãªã©ïŒãããã€ããããŸããããã¯ãã«ããŽãªããŒã¿ãå«ãããŒã¿ãã¬ãŒã ãããå Žåã¯åœãŠã¯ãŸããŸããã
ç§ã¯ãã®ã³ãŒããçµ±åããŠãã©ãŒã¯ã§å©çšã§ããããã«ããããšãå¿é¡ããŸãããã®ãã±ãããç§ã«å²ãåœãŠãããšãã§ããŸãã
githubå²ãåœãŠæ©èœã¯ãããŒã ã¡ã³ããŒã«å¯ŸããŠã®ã¿æ©èœããŸã
2017幎7æ17æ¥ååŸ7æ32åããmarcelobeckmannã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ããã«ã¡ã¯ãããã€ãã®ãã©ã€ããŒãé¢æ°ããããŸãïŒããšãã°ã_convert_to_doubleã
åºã«ãªãããŒã¿ãã§ãããšæ³å®ããpdistã®_copy_array_if_base_presentïŒ
å®å šã«æ°å€ã§ããããã¯ã
ã«ããŽãªããŒã¿ãç§ã¯ãã®ã³ãŒããçµ±åããŠãã©ãŒã¯ã§å©çšã§ããããã«ããããšãå¿é¡ããŸããããªã
ãã®ãã±ãããç§ã«å²ãåœãŠãããšãã§ããŸããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5884#issuecomment-315707830 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAEz62L3HHzGsSerW5G3n-Z8rrNoV6mwks5sOyoTgaJpZM4Glm0p
ã
å¿é ã¯ãããŸããããã©ãŒã¯ããŸããåŸã§getã³ãŒããååŸã§ããŸãã ç§ã«ãšã£ãŠéèŠãªã®ã¯è²¢ç®ããããšã§ãã çµãã£ãããç¥ããããŸãã
ãããåãäžããŠããã@marcelobeckmannã«æè¬ããŸãã ããªããããã«ããéïŒãããŠãããããªãã«ãšã£ãŠå®è¡å¯èœã§ãããã©ããïŒãç§ã¯ããªããRã®ãã€ãžãŒããã±ãŒãžïŒããªããäžã§åç §ããïŒã«å®è£ ãããŠããããã«ãNaNå€ãæã€ããŒã¿ã®ã¬ã¯ãŒèšç®ã®ãµããŒããè¿œå ããããšãæ€èšãããã©ããçåã«æããŸããïŒ
Gowerã®sklearn.metrics.pairwiseãžã®çµ±åãå®äºããŸããïŒNaNå€ã®åŠçã芳å¯ããŠããŸãïŒã ãã©ãŒã¯ããã³ãŒããéä¿¡ããåã«ãããã€ãã®åäœãã¹ããæºåããŸãã
@marcelobeckmannçŽ æŽãããïŒ ç¹ã«NaNãµããŒããå«ããŠãããŠããããšãïŒ :)
PSïŒç§ãææ¡ãããããããªãããããªãããŠããããã¹ããªã©ã«åãçµãã§ããéãã¬ãã¥ãŒã¢ãããªãã®ã³ãŒããèŠå§ããããšãã§ããããã«ããã«ãªã¯ãšã¹ããéå§ããããšãæ€èšããããããããŸããã
æ°æ¥åãb5884ã§ãã«ãªã¯ãšã¹ããè¡ããŸããã
ã¯ãã確èªããããã«ãã¥ãŒã«ãããŸãã
23æ40åã«2017幎8æ17æ¥ããã«ã»ãã»ããã¯ãã³[email protected]
æžããŸããïŒ
æ°æ¥åãb5884ã§ãã«ãªã¯ãšã¹ããè¡ããŸããã
â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5884#issuecomment-323076581 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AAEz69uMu0XsoAUfvwWikkadjGCk5yvKks5sZELKgaJpZM4Glm0p
ã
CIã«å¿ èŠãªå€æŽãå ããŸãããããã¹ãŠã®ãã§ãã¯ã«åæ ŒããŸããã
@marcelobeckmannçŽ æŽãããä»äºã§ãïŒ è¡659ã次ã®ãããªãã®ã«å€æŽããããšããå§ãããŸãã
ranges_of_numeric[col] = (1 - min / max, 0)[max == 0] if (max!=0) else 0.0
ãã以å€ã®å Žåã¯ã2çªç®ã®ãã¹ãã±ãŒã¹ã§ãŒãèŠåã«ããé€ç®ãååŸããŠããŸãã
ããã«ã¡ã¯ãPierre Wessmanã«ãã£ãŠææ¡ãããèŠåãåé¿ããããã«ã³ãŒããå€æŽããŸããããCIã¯ç·è²ã§ãã ã³ãŒãã確èªããŠããã人ãå¿ èŠã§ãã
@marcelobeckmannããã³æœåšçã«ä»ã®äººã
ããã«ã¡ã¯ãã«ã»ãïŒãŸãã¯æœåšçã«ä»ã®äººïŒãããªããããã«çœ®ããã¬ã¯ãŒä¿æ°ã®å®è£ ã«é¢ããŠããã€ãã®ç°¡åãªè³ªåããããŸããïŒ https ïŒ
å ã®ããŒã¿ãé¢æ°ã«ãã£ãŒãããããã«ãã³ãã®dataFrameãå¿ èŠã§ããããããšãnumpyé åã䜿çšã§ããŸããïŒ
ããŒã¿ãnumpyé åã«ã€ã³ããŒãããŠããŸãã äžæã®IDã§ããæåã®åãé€ããŠããã¹ãŠã®åã¯æ°å€ã®å®æ°ã§ãã 2ã€ã®åé¡ãçºçããŠããŸãã
ãŸããé¢æ°ãå®è¡ãããšãdtypeU7ããªããžã§ã¯ãã«å€æãããããšã瀺ãããŒã¿å€æèŠåãè¿ãããŸã!!ã äœããã®çç±ã§é åãšã³ããªãåŒçšç¬Šã§å²ãŸããŠãããããæååã§ããããã ãšæããŸããã ããšãã°ãé åãšã³ããªã®ã¿ã€ããint32ã«ãã£ã¹ãããŠããint32ããªããžã§ã¯ãã«å€æããããšããå€æãšã©ãŒãçºçããŸãã
次ã«ãããããäžèšã«ãªã³ã¯ãããŠããããã«ãé¢æ°ãå®è¡ããŠçµæããããããããã³ã«ãç°ãªãèŠèŠåïŒãã€ã³ãã®ç°ãªãåºããïŒãåãåããŸãã
äžèšã«ã€ããŠã¢ããã€ã¹ãããã ããŸããïŒ
ã©ããããããšã
ããã«ã¡ã¯ã¢ãªã
Gowerdistanceã®ãã®å®è£ ã«é¢å¿ããå¯ãããã ãããããšãããããŸãã
ãã«ãªã¯ãšã¹ããè¡ã£ãã³ãŒãã¯scikitlearn commitersã«ãã£ãŠæ¿èªãããŠããŸãããïŒCIã¯ç·è²ã§ãã¬ãã¥ãŒãåŸ ã£ãŠããã ãã§ãïŒããã®ææ°ã®å®å®ããå®è£ ãhttps://sourceforge.net/projects/gower-distanceã«ããã·ã¥ããŸãã
ããªãã®è³ªåã«è¡ããŸãããïŒ
åçïŒãã®æ°ããããŒãžã§ã³3ã§ã¯DataFrameãŸãã¯Numpyã䜿çšã§ããŸããã¹ããŒã¹è¡åããµããŒããããŠããŸãã
åçïŒãã®æ°ããããŒãžã§ã³ã¯æ°å€ã®ã«ããŽãªå±æ§ããµããŒãããŠããŸããè¿œå ã®ãã©ã¡ãŒã¿categorical_featuresããããfalseïŒæ°å€å±æ§ã®å ŽåïŒãŸãã¯trueïŒã«ããŽãªå±æ§ã®å ŽåïŒã§é åãèšå®ã§ããŸãã
åçïŒç§ãããã·ã¥ããæ°ããããŒãžã§ã³ã¯ããã®åé¡ã解決ããŸããã
ç§ã¯ãã®PRãã¬ãã¥ãŒããã€ããã§ãããããã»ã©é«ãã¯ãªãããšã«æ³šæããŠãã ãã
åªå
ATM
ããã«ã¡ã¯ã¢ãªã
ææ°ã®ãã®ã¯gower_function-v3.ipynbã§ãããã¯ããããã¯nanãæ±ããŸã
äŒæ¬
ã«ããŽãªå±æ§ãããã§ãªãå Žåã«ã®ã¿ãgower_distanceïŒXïŒã䜿çšã§ããŸã
æ°å€ããŸãã¯gower_distanceïŒXãcategorical_features = [FalseãTrueã
Falseã...]ïŒãç«ã®å±æ§ãæ°å€ã§è¡šãããŠããå Žåã
ãã®å®è£
ã¯åé¡ããããããåé¡ãçºçããå Žåã¯éå
¬éã§ãç¥ãããã ãã
ç§ã¯ã€ã³ã¿ãŒãããã«ããã·ã¥ããŸããããscikitlearnã®æžå¿µäºé
ã§ã¯ãããŸããã
ããã¹ãããšããããããããŸããããããè°è«ããã®ã«æé©ãªå Žæã§ã¯ãããŸããã
2017幎11æ30æ¥11:51ããAli-ryã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
@marcelobeckmann https://github.com/marcelobeckmann
ããã«ã¡ã¯ãã«ã»ãïŒãŸãã¯æœåšçã«ä»ã®äººïŒãããªãã«é¢ããŠç°¡åãªè³ªåããããŸãã
ããã«é
眮ããã¬ã¯ãŒä¿æ°ã®å®è£
ïŒ
https://sourceforge.net/projects/gower-distance-4python/files/
1.1ã
gower_single_function-v2.ipynbã¯æçµããŒãžã§ã³ã§ããã
NaNãïŒ
2.2ã
ããã«éèŠãªããšã«ããã®å®è£
ã«ããã
åäžã®ãµã³ãã«ããŒã¿å
ã®é¡äŒŒæ§ïŒ ã»ãšãã©ã®å Žåããªããäœãããã®ã§
å¿
èŠãªã®ã¯ãå
ã®èŠ³æž¬ã®åãã¢éã®ã¬ãŠã¢ãŒè·é¢ãååŸããããšã§ã
2ã€ã®ç°ãªããµã³ãã«ããŒã¿ãæ¯èŒããã®ã§ã¯ãªãã1ã€ã®ãµã³ãã«ããŒã¿ã
ã©ããããããšã
â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/scikit-learn/scikit-learn/issues/5884#issuecomment-348166596 ã
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AA3G79jWVbpBNdAFOAim7wJS92-QGl0dks5s7pa8gaJpZM4Glm0p
ã
ããã«ã¡ã¯ã¢ãªã
ææ°ã®ãã®ã¯gower_function-v3.ipynbã§ãããã¯ç§ãscikit learnã«ããã·ã¥ãããã®ã®ã³ããŒã§ãããã¯ããnanäŒæãæ±ããŸãã
ã«ããŽãªå±æ§ãæ°å€ã§ãªãå Žåã¯gower_distanceïŒXïŒã®ã¿ã䜿çšã§ããã«ããŽãªå±æ§ãæ°å€ãšããŠè¡šãããŠããå Žåã¯gower_distanceïŒXãcategorical_features = [FalseãTrueãFalseã...]ïŒã䜿çšã§ããŸãã
åé¡ãçºçããå Žåã¯ãéå ¬éã§ãç¥ãããã ãããç§ãã€ã³ã¿ãŒãããã«ããã·ã¥ãããã®å®è£ ã¯ãscikit learnã®åé¡ã§ã¯ãªããããã¹ãããšããããããããŸããããã§ã¯ãscikitã®å€éšã«ããããšã«ã€ããŠè©±ãåãã®ã«æé©ãªå Žæã§ã¯ãããŸããããããžã§ã¯ããåŠã¶ã
@marcelobeckmannããã«ã¡ã¯ãã«ã»ãã
ã«ããŽãªå€æ°ãæ°å€åœ¢åŒã«ãšã³ã³ãŒããããŠããå Žåãcategorical_featuresãã©ã¡ãŒã¿ã®å€ãTrueãŸãã¯Falseã«ããå¿
èŠããããŸããïŒ
ãŸãã次ã®ãšã©ãŒãçºçããŸãã
ValueErrorïŒ0ãµã³ãã«ïŒshape =ïŒ0ã0ïŒïŒã®é
åãèŠã€ãããŸããããcheck_pairwise_arraysã§ã¯æäœ1ãå¿
èŠã§ãã
以åã¯åãããŒã¿ã§æ£åžžã«æ©èœããŠããŸããããçŸåšã¯ãã®ãããªãšã©ãŒãçºçããŸãã ãªããããªãã®ã§ããããïŒ
ããã«ã¡ã¯@bendiste ã
TrueãšFalseã1ãš0ãšããŠè¡šããšãåãçµæãåŸãããŸãã
ææ°ã®ããŒãããã¯gower_function-v6.4.ipynbã䜿çšããŠããŸãã
https://sourceforge.net/projects/gower-distance-4python/files/
ïŒ
ç§ã¯èšäºãæžãçµããŠããŸããããŸãããã°ãä»æã¯ãscikit-learnã®ãã¹ã¿ãŒã§å®è£ ãåãå ¥ããããããã«ãèŠæ±ãããå€æŽãå ããäºå®ã§ãã
ããã«ã¡ã¯@marcelobeckmann ããè¿äºããããšãããããŸãã ãããŠãã¯ããç§ã¯ããªãã瀺ããææ°ããŒãžã§ã³ã䜿çšããŠããŸãã åããŠã³ããŒããããšãæ£åžžã«æ©èœããŸããã ç§ã¯æ©æ¢°åŠç¿ã®åå¿è
ãªã®ã§ãããã€ã質åããããšæããŸãã
1- KPCAã䜿çšããŠãéå±€çã¯ã©ã¹ã¿ãªã³ã°ã¢ã«ãŽãªãºã ãžã®å
¥åãšããŠæ¬¡å
ãæžããããšã¯ã§ããŸããïŒ
2-ãŸãã¯ãéå±€çã¯ã©ã¹ã¿ãªã³ã°ãžã®å
¥åãšããŠãé«æ¬¡å
ã®ããŒã¿ã»ããå
šäœã䜿çšããå¿
èŠããããŸããïŒ
ããã«ã¡ã¯@marcelobeckmann ã
ãã®å®è£
ã«æè¬ããŸãïŒ
gower_function-v6.4ããŒãžã§ã³ãè©ŠããŸããã
ã«ããŽãªåãæå®ãããã©ããã«é¢ä¿ãªããåäœãã¹ãã®è·é¢ã¯åãã§ããããšãããããŸãã ãŸããçµæã«åœ±é¿ãäžããªãç¬èªã®ããŒã¿ãè©ŠããŠã¿ãŸããã
ããã¯æ£ããã§ãïŒ
ããããšãããããŸããïŒ
ããã«ã¡ã¯@annelaura ã
è¿ä¿¡ãé ããŠãã¿ãŸããã ã¯ãããã®éãã§ãããã®ãã¹ãã¯ãcategorical_features = [0ã1]ãã©ã¡ãŒã¿ãŒãçµæã«åœ±é¿ãäžããªããã©ãããæ°å€ä»¥å€ã®åããªããžã§ã¯ããšããŠèå¥ã§ãããã©ããã確èªããããšã ãã§ããã å ¥åããŒã¿ã¯åãã§ãããããçµæã¯åãã§ããå¿ èŠããããŸãã
ããã€ãã®è«æãçµããåŸãç§ã¯ä»äºã«æ»ããæçµçã«scikitãã¹ã¿ãŒãã©ã³ãã«å®è£ ãææ¡ããŸãïŒ :)
@marcelobeckmannããã«é¢ãããã¥ãŒã¹ã¯ãããŸããïŒ :)
ããã«ã¡ã¯ã¢ã¬ãã¯ã¹ãç§ã¯ã¬ãã¥ãŒã¢ããã«ãªã¯ãšã¹ãã§ãããŸã§ã«æ±ãããã¹ãŠã®å€æŽãå®äºããŸãããCIã¯ç·è²ã§ãã ãŸããã¬ãã¥ãŒæ åœè ã«pingãéä¿¡ããŠãæºè¶³ããŠãããã©ããã確èªããŸããããã®åŸããã®ãã«ãªã¯ãšã¹ããéããŠãããã·ã¥ããŠãªãªãŒã¹ããŸãã
æŽæ°ã¯ãããŸããïŒ @marcelobeckmann
ã¬ãã¥ãŒåŸãé²è¡äžã®äœæ¥ã
PRã¯æ¿èªãããŸãããïŒ @marcelobeckmann
ãŸã ãæè¿ã®ã³ãŒãã¬ãã¥ãŒã®åŸãäœæ¥ãé²è¡äžã§ãã
æ®å¿µãªããç§ã¯ãããå¿ èŠã§ãã
æ©èœã ããã©ããã§å©çšã§ããŸããïŒ ã ããç§ã¯ãããèªåã§äœ¿ãããšãã§ããŸãïŒç 究ç®çã®ããã«ïŒ
ããããšã
ãã®PRã§ã¯ããã®é¢æ°ã®ææ°ã®ã³ããããååŸã§ããŸãã
https://github.com/scikit-learn/scikit-learn/pull/9555
ç§ã¯ãããããŒã«ã«ã§åäœãããããšãã§ããŸããã ããããšãïŒ
ãã®ãã±ãããããã«+1ããŠãã ããïŒ ããã«é¢ãããã¹ãŠã®äœæ¥ã«æè¬ããŸãã
ãã³ãã ããã¯çŽ æŽãããè¿œå ã«ãªãã§ãããã æ¯èŒçç°¡åãªèšç®ã§sklearnã«ãªããŸã§ã«4幎ããã£ããªããŠä¿¡ããããŸãã!!
ãŸãã¯ããªãã¯èšãããšãã§ããŸãïŒ4幎éã®ããªãã®ç®èº«çãªç²ã匷ãã«æè¬ããŸã
èªçºçãªåªåïŒ
ãŸãã¯ã次ã®ããã«èšãããšãã§ããŸãã4幎éã®ãã©ã³ãã£ã¢æŽ»åã«å°œåããŠãããŠããããšãïŒ
ããªãã¯æ£ããã§ããããããªããã ç§ã¯å€±ç€ŒãšããŠåºãããã€ããã¯ãããŸããã§ããã ç§ã¯ãã®åªåã«å€§ãã«æè¬ããŸãã ç§ã¯ãããããŒã«ã«ã§ãã°ãã䜿çšããŠããŸãããè¿œå ãããã®ãèŠãã®ã¯çŽ æŽãããããšã§ãã ããã¯ãæ··åããŒã¿åã«ã€ããŠç§ãç¥ã£ãŠããå¯äžã®è·é¢ã¡ããªãã¯ã§ãã
ãã©ã³ãã£ã¢ã®åªåã¯å¥ãšããŠãã³ã¢éçºè
ã¯èæ
®ããŠããŸãã
ãã®ç·æ¥æ§ãæ··ååã®åŠçæ¹æ³ã«ã¯ç¢ºãã«èª²é¡ããããŸãã
ãã¬ã€ã³ãã¹ãã®ã»ããã¢ããã§ã¹ã±ãŒãªã³ã°ãå®è¡ããæ¹æ³ã«ã€ããŠã
sklearnã§ããã楜ãã¿ã«ããŠããŸãã
ãã®ã¹ã¬ãããããã¢ã€ãã¢ãåããããšäž»åŒµãã人ããGowerã®è·é¢ãèšç®ããããã®ããã±ãŒãžãgithubã§ãªãªãŒã¹ããŸããïŒæè¡çã«ã¯é¡äŒŒæ§ïŒã è·é¢ãšé¡äŒŒæ§ã«ã€ããŠèšãã°ããã®äŸã¯@marcelobeckmannã®äŸãšåãã§ãã ãããŸã§ã³ãŒããäžç¥ããã ãã§ãããããã«å£éèŠãããšãã§ããŸãã
@marcelobeckmannã®ããŒãããã¯ããïŒ
# This is to normalize the numeric values between 0 and 1.
X_num = np.divide(X_num ,max_of_numeric,out=np.zeros_like(X_num), where=max_of_numeric!=0)
ããã€ã±ã«ã»ã€ã³ãããïŒ
# This is to normalize the numeric values between 0 and 1.
Z_num = np.divide(Z_num ,num_max,out=np.zeros_like(Z_num), where=num_max!=0)
ããã«ã¡ã¯ã¿ããªããããç£èŠããŠãããŠããããšãã
人ã ãã³ãŒããååŸããŠæ¹åããããšããŠããããšãããããæããŸããããã¯ãããçšåºŠã®ä¿¡çšã¯ããããããã®ã®ããªãŒãã³ãœãŒã¹ã«ãªãç®çã§ãã
ãã®PR ïŒ9555ãåãå ¥ããããã°ããã®ã³ãŒããscikit-learnã®äžéšã«ãªãããšãé¡ã£ãŠããŸãã
ãããããé¡ãããŸãã
ãã«ã»ãããã¯ãã³
ãã®éçšã§é 匵ã£ãŠãã ããïŒ
æãåèã«ãªãã³ã¡ã³ã
ããã
äœããã®åœ¢ã§è²¢ç®ããããã«ãå ã®è«æã«åŸã£ãŠGoweré¢æ°ãå®è£ ããpdistã¢ãžã¥ãŒã«ã§å¿ èŠãªããããã®é©å¿ãå®è£ ããŸãããããã¯ãå éšã§pdistãããã€ãã®æ°å€å€æãè¡ããããæ··åããŒã¿ã®è¡åã䜿çšãããšå€±æããŸãã
ãããŸã§ã«åŸãçµæã¯ãRã®ãã€ãžãŒé¢æ°ãšåãã§ãã
ãœãŒã¹ã³ãŒãã¯ã次ã®jupyterããŒãããã¯ã§å ¥æã§ããŸãïŒ https ïŒ//sourceforge.net/projects/gower-distance-4python/files/
ãæ°è»œã«ãå©çšãã ãã