ðIFæã«ãŒããããã°æ±ºå®æšã«ãªããŸãããïŒ
ããã°ããã¯ãããã倧éªãifæã«ãŒããããã決å®æš
ã¯ãããIfæãã䜿ã£ãã«ãŒããæ¡ä»¶åå²ãçµã¿åãããããšã§ã決å®æšïŒDecision TreeïŒã®ãããªæ§é ãããã°ã©ã å ã§äœæããããšãã§ããŸãã決å®æšã¯ãããŒã¿ãåé¡ããããäºæž¬ãè¡ãéã«äœ¿ãããã¢ãã«ã®äžã€ã§ãæ§ã ãªæ¡ä»¶ã«åºã¥ããŠããŒã¿ãåå²ãããŠããæ§é ãæã£ãŠããŸãã
äŸãã°ãããæ¡ä»¶ã«åºã¥ããŠããŒã¿ã»ãããåå²ããããããã®åå²ãããããŒã¿ã«å¯ŸããŠããã«æ¡ä»¶ãé©çšããŠããããšã§ãããŒã¿ã®åé¡ãäºæž¬ãè¡ãããšãã§ããŸãããã®ããã»ã¹ã¯ãããã°ã©ãã³ã°ã«ãããæ¡ä»¶åå²ïŒIfæïŒãšã«ãŒãã䜿çšããŠå®è£ ããããšãå¯èœã§ãã
ãã ããå®éã«æ±ºå®æšãããã°ã©ã ã§å®è£ ããå Žåã¯ãããŒã¿ã®ç¹åŸŽãåå²ã®æ¡ä»¶ãã©ã®ããã«éžæããããæšã®æ·±ãã¯ã©ã®çšåºŠã«ããããªã©ãå€ãã®ç¹ãèæ ®ããå¿ èŠããããŸãããŸãã決å®æšãå¹ççã«æ§ç¯ããããã«ã¯ãç¹å®ã®ã¢ã«ãŽãªãºã ïŒäŸïŒID3ãC4.5ãCARTãªã©ïŒãå©çšããã®ãäžè¬çã§ãããããã®ã¢ã«ãŽãªãºã ã¯ãæé©ãªåå²ãèªåçã«èŠã€ãåºããéåŠç¿ãé¿ããããã®æåããªã©ã®ãã¯ããã¯ãå«ãã§ããŸãã
ID3 (Iterative Dichotomiser 3)
ç¹åŸŽæœåº: ãšã³ããããŒïŒæ å ±éïŒãçšããŠãåç¹åŸŽãã©ã®çšåºŠæ å ±ãæã£ãŠããããèšç®ããæ å ±ã²ã€ã³ïŒãšã³ããããŒã®æžå°éïŒãæ倧ãšãªãç¹åŸŽãéžæããŠããŒããåå²ããŸãã
䜿çšããŒã¿: ã«ããŽãªã«ã«ïŒé¢æ£çïŒãªããŒã¿ã«é©ããŠããŸãã
æ¬ ç¹: é£ç¶å€ã®ç¹åŸŽãçŽæ¥æ±ãããšãã§ãããéåŠç¿ïŒãªãŒããŒãã£ããã£ã³ã°ïŒããããåŸåããããŸãã
C4.5
ID3ã®åŸç¶ãšããŠéçºããããã®æ¹åçã§ãã
ç¹åŸŽæœåº: æ å ±ã²ã€ã³çã䜿çšããŠããŒããåå²ããç¹åŸŽãéžæããŸããããã¯ãæ å ±ã²ã€ã³ãç¹åŸŽã®åºææ å ±éïŒåå²ã«ãã£ãŠåŸãããã«ããŽãªã®å€æ§æ§ïŒã§æ£èŠåããããšã«ãããID3ã®åé¡ç¹ã®äžã€ã§ããåå²å±æ§ã®éžæãã€ã¢ã¹ãæžå°ãããŸãã
䜿çšããŒã¿: ã«ããŽãªã«ã«ãªããŒã¿ãšé£ç¶å€ã®ããŒã¿ã®äž¡æ¹ã«å¯Ÿå¿ããŠããŸãã
ç¹åŸŽ: æåããå°å ¥ããŠéåŠç¿ãé²ããŸãã
CART (Classification And Regression Trees)
ç¹åŸŽæœåº: CARTã¯ãäºåæšïŒåããŒãã§2ã€ã®åããŒãã«åå²ïŒã䜿çšããŸããåå²åºæºãšããŠãžãäžçŽåºŠïŒåé¡ïŒãŸãã¯å¹³åäºä¹èª€å·®ïŒååž°ïŒã䜿çšãããããæå°åããç¹åŸŽãšãã®éŸå€ãéžæããŠããŒããåå²ããŸãã
䜿çšããŒã¿: åé¡åé¡ãšååž°åé¡ã®äž¡æ¹ã«äœ¿çšã§ããŸãã
ç¹åŸŽ: CARTã¯æåããå©çšããŠéåŠç¿ãé²ããŸãããŸããåºåããã決å®æšãäºåæšã§ããããã解éãããããšããå©ç¹ããããŸãã
def classify_person(height_cm, weight_kg):
bmi = weight_kg / ((height_cm / 100) ** 2) # BMIã®èšç®
# 決å®æšã®ããžãã¯
if bmi < 18.5:
return 'ç©ãå'
elif bmi < 25:
return 'æšæº'
else:
return 'è¥æº'
# ãã¹ãããŒã¿
people = [
(180, 80), # 身é·180cm, äœé80kg
(170, 50), # 身é·170cm, äœé50kg
(160, 60), # 身é·160cm, äœé60kg
]
# åé¡ã®å®è¡ãšçµæã®åºå
for height, weight in people:
category = classify_person(height, weight)
print(f"身é·{height}cmãäœé{weight}kgã®äººã¯ã{category}ãã«ããŽãªã§ãã")
ãã®ã³ãŒãã§ã¯ãBMIïŒäœæ Œææ°ïŒãèšç®ãããã®å€ã«åºã¥ããŠäººç©ããç©ãåããæšæºããè¥æºãã®3ã€ã®ã«ããŽãªã«åé¡ããŸãããã®ãããªåçŽãªããžãã¯ã§ããæ¡ä»¶åå²ïŒIFæïŒã䜿ã£ãŠããŒã¿ãåé¡ããã決å®æšãã®åºæ¬çãªèãæ¹ãè¡šçŸã§ããŸããããè€éãªæ±ºå®æšã§ã¯ãããŒã¿ã®ç¹åŸŽã«åºã¥ããŠå€æ°ã®åå²ãäœæããããŸããŸãªæ¡ä»¶ã§ããŒã¿ã现ååããŠãããŸãã
äžèšã®æš¡æ¬ã³ãŒãã¯éåžžã«åºæ¬çãªäŸã§ãããID3ãCARTãªã©ã®å ·äœçãªæ±ºå®æšã¢ã«ãŽãªãºã ã®è©³çŽ°ãªåäœãéããçŽæ¥ç€ºãã«ã¯ç°¡ç¥åãããããŠããŸãããããããã®äŸãåºçºç¹ãšããŠãID3ãCARTãã©ã®ããã«ããŒã¿ãåé¡ãããããããŠããããã©ã®ããã«ç°ãªããã«ã€ããŠèª¬æããããšã¯å¯èœã§ãã
ID3ã¢ã«ãŽãªãºã ã®ç¹åŸŽãšäŸãçšãã説æ
ID3ã¢ã«ãŽãªãºã ã¯ãååå²ã§æ å ±ã²ã€ã³ãæ倧ãšãªãå±æ§ãéžæããããšã§ã決å®æšãæ§ç¯ããŸããæ å ±ã²ã€ã³ã¯ãåå²ååŸã®ãšã³ããããŒïŒäžç¢ºå®æ§ã®åºŠåãïŒã®å·®ãšããŠèšç®ãããŸãããšã³ããããŒãäœãã»ã©ãããŒã¿ã»ããã®çŽåºŠãé«ãïŒã€ãŸããåãã«ããŽãªã®ããŒã¿ãå€ãïŒããšãæå³ããŸãã
äžèšã®äŸã«ID3ã®æŠå¿µãé©çšãããšãBMIãèšç®ããŠãç©ãåããæšæºããè¥æºãã®ã«ããŽãªã«åé¡ãã代ããã«ã身é·ãäœéãªã©ã®å±æ§ããæ å ±ã²ã€ã³ãæ倧ãšãªãå±æ§ãéžãã§ããã®å±æ§ã«åºã¥ããŠããŒã¿ã»ãããåå²ããããšã«ãªããŸãããã ãããã®åºæ¬çãªäŸã§ã¯ãå±æ§ãäºåã«éžæããBMIã®èšç®ã«äœ¿çšãããŠãããããID3ã®åçãªå±æ§éžæããã»ã¹ãæ£ç¢ºã«æš¡å£ããããšã¯ã§ããŸããã
CARTã¢ã«ãŽãªãºã ã®ç¹åŸŽãšäŸãçšãã説æ
CARTã¢ã«ãŽãªãºã ã¯ãåé¡ïŒClassificationïŒãšååž°ïŒRegressionïŒã®äž¡æ¹ã«äœ¿çšã§ããç¹ãç¹åŸŽã§ããCARTã¯ããžãäžçŽåºŠïŒåé¡åé¡ã®å ŽåïŒãŸãã¯å¹³åäºä¹èª€å·®ïŒååž°åé¡ã®å ŽåïŒãæå°åããããã«ããŒã¿ãåå²ããŸããCARTã¯åžžã«äºåæšãçæããŸãã
äžèšã®äŸãCARTã®èŠ³ç¹ããèŠããšãäŸãã°ããžãäžçŽåºŠãæå°åããããšãç®çãšããŠãç¹å®ã®éŸå€ïŒäŸãã°ãBMIã®å€ïŒã䜿ã£ãŠããŒã¿ã»ããããç©ãåããšãéç©ãåãã«åå²ããããšãèããããŸãããã®åŸãåãµãã»ããã«å¯ŸããŠããã«åå²ãè¡ããæçµçã«ãç©ãåããæšæºããè¥æºãã®ã«ããŽãªã«åé¡ããããšãã§ããŸãããã ããCARTã®å šããã»ã¹ããã®ç°¡åãªäŸã§è¡šçŸããã®ã¯é£ãããç¹ã«æåãã®ããã»ã¹ãé£ç¶å€ããŒã¿ã®æ±ããªã©ãCARTã®éèŠãªåŽé¢ã¯çç¥ãããŠããŸãã
æš¡æ¬ã³ãŒãã§ç€ºãããéŸå€ã®æ¯èŒã«ããã«ããŽãªåãã¯ãID3ã¢ã«ãŽãªãºã ã«ãããå±æ§éžæã®ã¹ãããã«çžåœãããšèããããšãã§ããŸãããã ããID3ã¢ã«ãŽãªãºã ã§ã¯ãåã«éŸå€ãåºã«åé¡ããã®ã§ã¯ãªããããŒã¿ã»ãããåå²ããæé©ãªå±æ§ãéžæããããã«ãæ å ±ã²ã€ã³ããèšç®ããŸããæ å ±ã²ã€ã³ã¯ãããå±æ§ã«ãã£ãŠããŒã¿ã»ãããåå²ããéã®ãšã³ããããŒã®æžå°éãè¡šãããšã³ããããŒã¯ããŒã¿ã»ããã®äžçŽåºŠïŒæ··åšåºŠïŒã枬ãææšã§ãã
ID3ã¢ã«ãŽãªãºã ã§ã¯ä»¥äžã®ã¹ãããã§å±æ§ãéžæããŸãïŒ
åå±æ§ã«ã€ããŠæ å ±ã²ã€ã³ãèšç®ããŸãã
æ å ±ã²ã€ã³ãæ倧ãšãªãå±æ§ãéžæããŸãã
éžæãããå±æ§ã«åºã¥ããŠããŒã¿ã»ãããåå²ããŸãã
åãµãã»ããã«å¯ŸããŠååž°çã«åãããã»ã¹ãé©çšããããŒã¿ã»ãããåäžã®ã¯ã©ã¹ã®ã¿ãå«ããããããã¯åæ¢æ¡ä»¶ãæºãããŸã§ç¶ããŸãã
æš¡æ¬ã³ãŒãã®å Žåãç¹å®ã®éŸå€ïŒäŸãã°ãBMIã®éŸå€ïŒã«åºã¥ããŠã¯ã©ã¹ãåããŠããŸãããããã¯äºåã«éžå®ãããåäžã®å±æ§ãšãã®éŸå€ã«åºã¥ãéåžžã«åçŽåãããäŸã§ããID3ã§ã¯ãããŒã¿ã»ããå šäœã®äžããåçã«æé©ãªåå²å±æ§ãéžæããŸãããã®ãããID3ã¢ã«ãŽãªãºã ãé©çšããå Žåãå±æ§ã®éžæã¯ããŒã¿ã«åºã¥ããèšç®ããã»ã¹ã«ãã£ãŠè¡ãããããæè»ãã€åçãªããŒã¿ã®åå²ãå¯èœã«ãªããŸãã
ãã®ããã«ãæš¡æ¬ã³ãŒãã®éŸå€æ¯èŒã¯ãID3ã¢ã«ãŽãªãºã ã®å±æ§éžæããã»ã¹ã®éåžžã«åºæ¬çãªã€ã¡ãŒãžãšæããããšãã§ããŸãããå®éã®ID3ã¢ã«ãŽãªãºã ã¯ãã£ãšè€éãªèšç®ãšããŒã¿åæãè¡ããŸãã
ãé¡ãèŽããŸã