ååï¼2010/5/2ï¼ã®ãã¼ããã¼ã¸ã³SVMã§ã¯ããã¼ã¿ã«éãªããããå ´åãä¸ã®ããã«ã¡ããã¨åé¡å¢çãæ±ãããã¾ããã§ãããä»åã¯ãéãªãã®ããã¯ã©ã¹åå¸ã«å¯¾å¿ã§ããããã«æ¡å¼µãã¦ã¿ã¾ãããã®ãããªSVMã¯ãã¼ããã¼ã¸ã³SVMã«å¯¾ãã¦ã½ãããã¼ã¸ã³SVMã¨å¼ã°ãã¾ããå¥åã¨ãã¦C-SVMã¨ãå¼ã°ããããã§ãã PRMLã®7.1.1ã«ããããã«ããã¼ã¿ã®èª¤åé¡ã許ãããã«SVMãä¿®æ£ãã¾ãããã¼ããã¼ã¸ã³SVMã§ã¯ããã¼ã¿ç¹ããã¼ã¸ã³å ï¼-1 < y < 1ï¼ã«çµ¶å¯¾ã«å ¥ããªããã¨ãåæã«ãã¦ãã¾ããããã½ãããã¼ã¸ã³SVMã§ã¯ãå ¥ã£ã¦ãã¾ã£ããã®ã¯ä»æ¹ãªããã ãããã«ãã£ãä¸ããï¼ãã¨å°ãæ¡ä»¶ãç·©ãã¾ãã ã¾ããã¹ã©ãã¯å¤æ°Î¶ï¼ã¼ã¼ã¿ï¼ããã¼ã¿ãã¨ã«å°å ¥ãã¾ããã¹ã©ãã¯å¤æ°ã¯ããã¼ã¿ãæ£ããåé¡ãããã¤ãã¼ã¸ã³å¢çä¸ã¾ãã¯å¤å´ã«ããå ´åã¯0ãæ£ããåé¡ããã¦ããããã¼ã¸ã³å ã«ä¾µå ¥ãã¦ãã¾
ãã¦ãååã¯äº¤å·®æ¤è¨¼ã®èª¬æã§çµãã£ã¦ãã¾ãã¾ããããä»åã¯ã¡ãã㨠SVM ã®ãã¥ã¼ãã³ã°ã®è©±ããã¾ãã ãã¥ã¼ãã³ã°ã®æé ã¨ãã¦ã¯ã ã°ãªãããµã¼ãã§å¤§éæã«æ¤ç´¢ããã æé©ãªãã©ã¡ã¼ã¿ããããããªã¨ãããçµã£ã¦åã³ã°ãªãããµã¼ããè¡ãã ã¨ãã2段éã®ã°ãªãããµã¼ããè¡ãã¾ãã 1段éç®ï¼ã°ãªãããµã¼ãã§å¤§éæã«æ¤ç´¢ãã SVM ã®ãã¥ã¼ãã³ã°ã¯ tune.svm() ã¨ããé¢æ°ãç¨ãã¦è¡ãã¾ãã ãã¥ã¼ãã³ã°ã®ããæ¹ã¯ãåç´ã«ã°ãªãããµã¼ããè¡ã£ã¦ããã ãã§ãã ãã©ã¡ã¼ã¿ã®å¤ãããããå¤ãã¦ã¿ã¦ãæ£ççã®ä¸çªããå¤ããã¹ããã©ã¡ã¼ã¿ã¨ãã¦åºåãã¾ãã ããã°ã©ã ã¯ä¸è¨ã®ããã«ãªãã¾ãã gammaRange = 10^(-5:5) costRange = 10^(-2:2) t <- tune.svm(Species ~ ., data = iris, gamma=gammaRan
SVM ã®ãã¥ã¼ãã³ã° SVM(Support Vector Machine) ã¯ã¿ãªãã御åãæ©æ¢°å¦ç¿ã®ææ³ã§ãã SVM ã¯ããã©ã«ãè¨å®ã§ã¢ãã«ãä½ã£ã¦ããããããªãã§ããgamma 㨠cost ã¨ãããã©ã¡ã¼ã¿ãããã®ã§ããããã®å¤ã«æé©å¤ãè¨å®ããªããã°ãªãã¾ãããR ã® SVM ã® Help ã«ãããæ¸ãã¦ããã¾ãã Parameters of SVM-models usually must be tuned to yield sensible results! (訳) SVM ã§ããçµæåºãããã£ãããã¥ã¼ãã³ã°ããããªï¼ ã¨ããããã§ãSVM ã®ãã¥ã¼ãã³ã°ã®ãããã«ã¤ãã¦èª¬æãããã¨æãã¾ãã 交差æ¤è¨¼ ãã£ã¨ããã®åã«ã交差æ¤è¨¼ã®è©±ãããªããã°ãªãã¾ããã SVM ã¢ãã«ããã¥ã¼ãã³ã°ããéãäºã¤ã®ãã©ã¡ã¼ã¿ã§ã°ãªãããµã¼ãããã¾ãã ããªãã¡ããã©ã¡ã¼ã¿ãããããå¤
Machine Learning Advent Calendar 2012 ã® 21 æ¥ç®ã®è¨äºã§ãã ç§ã¯æ®æ®µã¯åè¨ã®ãã¼ã¿è§£æãä»äºã«ãã¦ã¾ããéå»ã«ä½åº¦ãå®åã§RandomForestãå©ç¨ããæ©ä¼ãããã¾ããã®ã§ä»æ¥ã¯ä»¥å顧客ã«ãã¬ã¼ã³ãããæã«ã質åãããå 容ã¨ãã®åçãç´¹ä»ãããã¨æãã¾ããæ®æ®µã¯æ©æ¢°å¦ç¿ã»ãã¼ã¿ãã¤ãã³ã°ãå®åã®ç«å ´å©ç¨ãã¦ãããææ³ãã®ãã®ã®å°é家ã§ã¯ãªãã®ã§ãééããªã©ãæãã¾ããããææãã ããã ãã¦RandomForestã¯æåãªã¢ã«ã´ãªãºã ã§ãã®ã§ããåãã®æ¹ãå¤ãã¨ã¯æãã¾ãããCARTã®éçºè ã§ããããLeo Breimanã2001å¹´ã«ææ¡ãã決å®æ¨ãç¨ããéå£å¦ç¿ã¢ã«ã´ãªãºã ã®ï¼ã¤ã§ããä¸è¨ã§è¨ãã°ã大éã®æ±ºå®æ¨ãä½æãã¦ãããããã®æ±ºå®æ¨ãåºããçããå¤æ°æ±ºããæãæ¯æã®å¤ãã£ãã¯ã©ã¹ã«åé¡ããææ³ã§ãã(å帰ã®å ´åã¯å¹³åãè¿ãã¾ãï¼ R
4. æ©æ¢°å¦ç¿ã®ããã±ã¼ã¸ Rå¢ ï¬ e1071ï¼SVMãã¯ã©ã¹ã¿ãªã³ã°ã¨ãï¼ ï¬ gbmï¼AdaBoostï¼å帰ãªã©ï¼ ï¬ kernlabï¼SVMãã«ã¼ãã«ä¸»æåã¨ãï¼ ï¬ mboostï¼boostingï¼ ï¬ nnetï¼ãã¥ã¼ã©ã«ãããã¯ã¼ã¯ï¼ ï¬ randomForest ï¬ rpart etc. å®çª ï¬ LIBSVM ãã®ä» ï¬ weka (Java) ï¬ nltk (Python) æ°èå¢å ï¬ Apache Mahout ï¬ Jubatus ï¬ scikit-learn ã¨ããåæãªå°è±¡ 5. æ©æ¢°å¦ç¿ã®ããã±ã¼ã¸ Rå¢ ï¬ e1071ï¼SVMãã¯ã©ã¹ã¿ãªã³ã°ã¨ãï¼ ï¬ gbmï¼AdaBoostï¼å帰ãªã©ï¼ ï¬ kernlabï¼SVMãã«ã¼ãã«ä¸»æåã¨ãï¼ ï¬ mboostï¼boostingï¼ ï¬ nnetï¼ãã¥ã¼ã©ã«ãããã¯ã¼ã¯ï¼ ï¬ randomForest ï¬ rpar
ç§ã¯æ å ±åéã«ã¯ã¦ãªããã¯ãã¼ã¯ãå¤ç¨ãã¦ãããæãªæã¯çµæ§ãªå²åã§ã¯ã¦ãªããã¯ãã¼ã¯ã§è¨äºãæ¢ãã¦ã¾ããããããã¯ã¦ãªããã¯ãã¼ã¯ã¯ææ°ã®è¨äºãæ¢ãã®ã¯ä¾¿å©ã§ãããéå»ã®è¨äºãæ¢ãã«ã¯ãã¾ãã¡ä½¿ãã¾ãããå人çã«ã¯å¤å°éå»ã®è¨äºã§ãèªåãèå³ãæã£ã¦ããåéã«é¢ãã¦ã¯ãã¬ã³ã¡ã³ããã¦æ¬²ããã¨æãã¦ã¾ãã ããããããã¨ã«ã¯ã¦ãªã¯APIãå ¬éãã¦ãããã¯ã¦ãªããã¯ãã¼ã¯ã®æ å ±ãæ¯è¼çç°¡åã«åå¾ã§ãã¾ããããã§ãã®APIãå©ç¨ãã¦èªåã«åã£ãè¨äºãè¦ã¤ãããããªã¬ã³ã¡ã³ãæ©è½ãRã¨Pythonã§ä½æãã¦ã¿ããã¨æãã¾ãã å©ç¨ãããã¼ã¿ã¯ãã¯ã¦ãªAPIã使ã£ã¦åéãã¾ããå ·ä½çã«ã¯ãã¯ã¦ãªããã¯ãã¼ã¯ãã£ã¼ããå©ç¨ãã¦èªåã®ããã¯ãã¼ã¯ãã¦ããURLãåå¾ãããã®URLãããã¯ãã¼ã¯ãã¦ããã¦ã¼ã¶ãã¨ã³ããªã¼æ å ±åå¾APIãç¨ãã¦æ½åºãããã®ã¦ã¼ã¶ã®ããã¯ãã¼ã¯ãã¦ããURLãåéãã¾ããã
vimã§Pythonç¨ã®è¨å®ãè¡ã£ãã®ã§ã¾ã¨ãã¦ããã¾ãã ä½ãã§ããï¼ å¤§ã¾ãã«è¨ãã¨æ¬¡ã®5ã¤ãè¡ãã¾ãã ã³ã¼ãè£å® pep8ãã§ã㯠Pyflakesãã§ã㯠McCabeè¤é度ãã§ã㯠pep8ç¨ã¤ã³ãã³ã åæ vimãã©ã°ã¤ã³ã®ç®¡çã«NeoBundleã使ã£ã¦ãã¾ãã NeoBundleã®ä½¿ãæ¹ã¯çç¥ãã¦ãã¾ãã ã³ã¼ãè£å® : jedi à jedi-vim ã¤ã³ã¹ãã¼ã« jedi : Pypi - jedi pip install jedi vimãã©ã°ã¤ã³ : jedi-vim NeoBundle 'davidhalter/jedi-vim' cd ~/.vim/bundle/jedi-vim git submodule update --init è¨å® ã«ã¹ã¿ãã¤ãºããªãå ´åã¯ã~/.vimrcã«è¨å®ããå¿ è¦ã¯ããã¾ããã ã«ã¹ã¿ãã¤ãºããå ´åã¯ãdavidhalter
ã¯ã¦ãªã°ã«ã¼ãã®çµäºæ¥ã2020å¹´1æ31æ¥(é)ã«æ±ºå®ãã¾ãã 以ä¸ã®ã¨ã³ããªã®éããä»å¹´æ«ãç®å¦ã«ã¯ã¦ãªã°ã«ã¼ããçµäºäºå®ã§ããæ¨ããç¥ãããã¦ããã¾ããã 2019å¹´æ«ãç®å¦ã«ãã¯ã¦ãªã°ã«ã¼ãã®æä¾ãçµäºããäºå®ã§ã - ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãã®ãã³ãæ£å¼ã«çµäºæ¥ã決å®ãããã¾ããã®ã§ã以ä¸ã®éãã確èªãã ããã çµäºæ¥: 2020å¹´1æ31æ¥(é) ã¨ã¯ã¹ãã¼ãå¸æç³è«æé:2020å¹´1æ31æ¥(é) çµäºæ¥ä»¥éã¯ãã¯ã¦ãªã°ã«ã¼ãã®é²è¦§ããã³æ稿ã¯è¡ãã¾ãããæ¥è¨ã®ã¨ã¯ã¹ãã¼ããå¿ è¦ãªæ¹ã¯ä»¥ä¸ã®è¨äºã«ãããã£ã¦æç¶ãããã¦ãã ããã ã¯ã¦ãªã°ã«ã¼ãã«æ稿ãããæ¥è¨ãã¼ã¿ã®ã¨ã¯ã¹ãã¼ãã«ã¤ã㦠- ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ ãå©ç¨ã®ã¿ãªãã¾ã«ã¯ãè¿·æãããããããã¾ãããã©ãããããããé¡ããããã¾ãã 2020-06-25 è¿½è¨ ã¯ã¦ãªã°ã«ã¼ãæ¥è¨ã®ã¨ã¯ã¹ãã¼ããã¼ã¿ã¯2020å¹´2æ28
ã¿ããªã®IoT/ã¿ããªã®Pythonã®èè ãäºåçè¿ã160平米ã®åºä»ãä¸æ¸å»ºã¦ã«å«/æ¯å/å¨/ãããã¨æ®ããã¦ã¾ããæé1000ä¸PV/150ä¸UUã®Webãµã¼ãã¹éå¶ä¸ã å 責äºé ãã©ã¤ãã·ã¼ããªã·ã¼ Pythonã®ãããªã¹ã¯ãªããè¨èªã®ç¹å¾´ã®ä¸ã¤ã¨ãã¦ï¼ãã¼ã¿ãã½ã¼ã¹ã³ã¼ãã«ç´æ¥åãè¾¼ã¿ãããï¼ã¨ãããã®ãããã¨æãã¾ããå®éï¼Pythonã®ã³ã¼ããè¦ãã¨æååï¼ãªã¹ããè¾æ¸ã¨ãã£ãé«æ©è½ã§ä½¿ãåãã®ãããããã¼ã¿åãï¼ãªãã©ã«ã¨ãã¦ã½ã¼ã¹ã³ã¼ãã«åãè¾¼ãã§ããã®ãããç®ã«ãã¾ããæã«ã¯å¤æ°ã«ä»£å ¥ããããï¼æã«ã¯é¢æ°ãã¡ã½ããã®å¼æ°é¨åã«åãè¾¼ã¾ãããã ãã¡ãã¡é¢ããå ´æã«ãããã¼ã¿ãè¦ã«è¡ã£ããï¼ãªãã¸ã§ã¯ããä½ãããã®å®£è¨ãããå¿ è¦ããªãï¼å¦çããããå ´æã®éè¿ã«ãã¼ã¿ãåãè¾¼ããã®ã§ï¼ã¨ã¦ã便å©ãªã®ã§ããï¼æ¬ ç¹ãããã¾ããç¡é ä½ã«ãã¼ã¿åã®ãªãã©ã«ãåãè¾¼ãã§ããã¨ï¼ã½ã¼ã¹
pythonã®ããã°ã©ã ãæ¸ãã¦ããã¨ããpep8ã¨pyflakesã¯ããã¦ããããã¨æããã¨ãããã¾ãã pep8ã¯ããã¾ã§å½¢å¼ãè¦æ ¼åãããã®ã ãã©ããããå®ãã¨ããã¢ãã«ã³ã¯ãã£ããå¤ãããã§ãã pyflakesã¯ä½¿ã£ã¦ããªãå¤æ°ã¨ãã¤ã³ãã¼ããæ¤åºãã¦ææãã¦ãããã®ã§å²ã¨å®ç¨çã§ãã ããã§ãvimã«ãã©ã°ã¤ã³ããããã¨ã¯ç¥ã£ã¦ãããã©ãä»ã¾ã§é¢åãããã£ã¦ããã¦ããªãã£ãã®ã§ãä»æ¥å ¥ãã¦ã¿ã¾ããã pep8ç¨ã®ãã©ã°ã¤ã³: vim-pep8 githubã«ããã¾ãã GitHub - nvie/vim-pep8: This project is superseded by vim-flake8! å°å ¥ã¯ãããªæãã§ããã¾ããã $ cd ~/.vim $ git clone https://github.com/nvie/vim-pep8.git $ mkdir ftplug
ããããã°ã4æã«è»¢è·ãã¾ããã æ°ããä¼ç¤¾ã¯åã®ä¼ç¤¾ã¨è²ã ã¡ãã£ã¦æ¥½ããã§ããç°å¢çã«ãã¿ããªmacã§éçºè¨èªãpythonãã¡ã¤ã³ã ã£ãããã¾ãããªã®ã§ãMac 㧠Pythonãå§ããã¨ãã«ãã£ã¦ãããæ¹ããããããªäºãæãåºããªããæ®ãã¦ã¿ããã¹ãã 1. homebrew 㧠Pythonã®ã¤ã³ã¹ãã¼ã« æè¿ã®ãã«ã¼ã®ãªãµã¬ã¯ãhomebrewãããã®ã§ãbrewã³ãã³ãã§pythonãã¤ã³ã¹ãã¼ã«ãã¾ããã brew install python HomebrewããMacportsã®ã¢ã³ã¤ã³ã¹ãã¼ã«ããã¯ãã¡ããåèã«ãã¾ããã http://d.hatena.ne.jp/ruedap/20110217/mac_install_homebrew_uninstall_macports python ãã¤ã³ã¹ãã¼ã«ãããã¨ãä¸è¨ã®ããã«ã·ã³ããªãã¯ãªã³ã¯ãå¼µãããã¨æãã¾ãã /
Pythonã§ã·ãªã¢ã©ã¤ãºã«ä½¿ããã©ã¤ãã©ãªã¯æ¨æºã§ãpickleãjsonãªã©ãããã¾ããï¼ç 究室ã§MessagePackã¨ãããã®ã使ã£ã¦ãã人ãããã®ã§è©¦ãã¦ã¿ã¾ããï¼ MessagePackã¯ãã¤ããªå½¢å¼ã«ä¿åããã¿ã¤ãã®ãã®ã§é«éãã¤è»½éã¨ã®ãã¨ï¼ Python以å¤ã«ãæ§ã ãªè¨èªã§ã©ã¤ãã©ãªãé å¸ããã¦ãã¾ãï¼ ã¤ã³ã¹ãã¼ã« "pip install msgpack-python"ããªãã失æããã®ã§"pip install msgpack-pure"ããã¾ããï¼ å®é¨ ã·ãªã¢ã©ã¤ãºåå¾ã§ãªã¹ãããã¿ãã«ã«å½¢å¼ãå¤ãã£ã¦ãã¾ããªã©ã®æ³¨æç¹ã¯ããã¾ããï¼ç°¡åã«ä½¿ãããã§ãï¼ >import msgpack_pure as msgpack >serialized = msgpack.packb([1,2,3]) >print msgpack.unpackb(serialized) (
ããªãã¢ã«ãªä¾ã ããå ã®é¢æ°(func)ããã³ã¬ã¼ãã»ã©ããããmydecoratorã¨ãããã³ã¬ã¼ã¿ãæ¸ããæãä¸ã®ããã«åç´ã«innerãè¿ãã¨ã def mydecorator(func): def inner(*args, **kwds): print "Hi, I'm inner!" return func(*args, **kwds) return inner @mydecorator def hello(to): """ Say hello to somebody """ print "Hello, %s!" % to if __name__ == '__main__': print repr(hello) print hello.__doc__ çµæã¨ãã¦ã None ã®ããã«ããã³ã¬ã¼ããããå ã®é¢æ°(hello)ã®é¢æ°åãããã¥ã¡ã³ãæååã失ããã¦ãã¾ãããã³ã¬ã¼ã¿ã
ä¸é¨ã§æå¼·ã¨å¼ã°ãã¦ããPythonã«ã¯, virtualenvãipythonã®ãããªçµ¶å¯¾å ¥ããè¶ å®çªä»¥å¤ã«ã, ããã¨ä¾¿å©ãªã©ã¤ãã©ãªã¨ãããã®ãããã¾ã. ããã§ã¯ã©ããã¼ã»ãã³, 7ã¤ãç´¹ä»ãã¾ããã. ãªã, furl以å¤ã¯3.xã«å¯¾å¿ãã¦ãã¾ã. requests è¦ããããWebãªã¯ã¨ã¹ã(urllib.request.urlopenã®ä»£æ¿) furl URLã®æ±ãããã£ã¨ã·ã³ãã«ã«(urllib.parse.urlparseã®ä»£æ¿) PyQuery jQueryã®ã¹ã¯ã¬ã¤ãã³ã°åãPythonã«(html.parser.HTTPParser, lxml, BeautifulSoupã®ä»£æ¿) Send2Trash/Send2Trash3k ã¯ãã¹ãã©ãããã©ã¼ã ãªããã¿ç®±ã¸éãã WindowsåãPythonã©ã³ãã£ã¼ 2.xã¨3.xãåãæ¿ãã PySide/PyQt4
[python]format使ç¨æã®æ³¢æ¬å¼§ã®ã¨ã¹ã±ã¼ã >>> "{0} {1} {0}".format('Spam', 'Ham') 'Spam Ham Spam' >>> "{food1} {food2} {food1}".format(food1='Spam', food2='Ham') 'Spam Ham Spam' from Python 3.0 Hacksï¼ç¬¬6åãPythonicãªæååãã©ã¼ãããformat()ã¡ã½ããï½gihyo.jp ⦠æè¡è©è«ç¤¾ http://gihyo.jp/dev/serial/01/pythonhacks/0006 %sã®ãã¬ã¼ã¹ãã«ãã®ä»£ããã«formatã¡ã½ãããå°å ¥ããã¦ããåããããããªã£ã¦ããã®ã ããæ³¢ãã£ã{}ãã©ããã£ã¦ã¨ã¹ã±ã¼ããããã«æ©ãã ã\ã§ã¯ã¨ã¹ã±ã¼ããããªãããçãï¼æ³¢ãã£ããéãã({{ã}}ã®ããã«ãã)ãã¨ã§ã
Tokyo.SciPy #2 ã«ã¦çºè¡¨ãããæ°å¼(ãããã¯æ°å¼å ¥ãã®ã¢ã«ã´ãªãºã )ããå®è£ ã«è½ã¨ãå ´åãä½ã«æ°ãã¤ããã®ããã©ãèããã°ããã®ããã¨ããã話ã 対象ã¯ãã©ããã£ã¦æ°å¼ãããã°ã©ã ããã°ãããããããããªã人ãã¡ãã£ã¨ãããããæ°å¼ã«ãªãã¨åè¦å «è¦ãã¦ãã¾ããã³ã¼ãã«è½ã¨ãã®ã«ãããæéãããã£ã¦ãã¾ã人ããªã©ã ããã§ã¯å®è¡é度ã«ã¤ãã¦ã¯ã²ã¨ã¾ãããã¨ãã¦ãç°¡æ½ã§ééãã«ãããã¡ããã¨åãã³ã¼ããæ¸ããã¨ãç®æ¨ã«ãã¦ãã¾ãã Read less
Pythonã§ä¸çªæåã§æ®åãã¦ããã©ã¤ãã©ãªã¨è¨ã£ã¦ãéè¨ã§ã¯ãªããNumpyãã®è¦æ¸ãã§ããããªãå¤æ©è½ãªæ°å¤è¨ç®ã©ã¤ãã©ãªã§ãå é¨ã¯Cè¨èªã§è¨è¿°ããã¦ããããè¶ é«éã«åä½ãã¾ãã ãã¯ãã« ãã¯ãã«ã®é·ãï¼æ£è¦å import numpy a = numpy.array([[2,2]]) #ãã¯ãã«ã®é·ã length = numpy.linalg.norm(a) #length=>2.8284271247461903 #ãã¯ãã«ã®æ£è¦å a / numpy.linalg.norm(a) #=>array([[ 0.70710678, 0.70710678]]) å ç©ï¼å¤ç© import numpy v1 = numpy.array((1,0,0)) v2 = numpy.array((0,1,0)) #å ç© numpy.dot(v1,v2) #=> 0 #å¤ç© numpy.cros
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}