
ChatGPTã®Code Interpreterã®äœ¿ãæ¹ïŒèªç¶èšèªã§ããŒã¿è§£æã𿩿¢°åŠç¿
Code Interpreterãå©çšå¯èœã«ãªã£ãã®ã§è©ŠããŠã¿ãŸããã
pluginã®NoteableãšäŒŒããããªæãã ãšæããŸããããã¡ã€ã«ã®ã¢ããããŒããããŠã³ããŒããªã©ã¯ãã¡ãã®æ¹ãã¹ã ãŒãºã§ãããæ§ããã«èšã£ãŠèªç¶èšèªã§ãããŸã§ããŒã¿è§£æãæ©æ¢°åŠç¿ãåºæ¥ãã®ã¯ãããã§ãããããšã©ãŒãåºãŠãèªåã§è§£æ±ºã詊ã¿ãŠãããã®ããããã§ãããã ãæè»œãªçµ±èšãœãããªã©ãšåæ§ã§ïŒçå±ãããããªããŠãïŒäœãšãªãçµæãåºããŠããŸãã®ã§åºæ¬çãªç¥èãã€ããŠããå¿
èŠããããªãšæããŸããïŒèªæããããŠïŒã
ã§ã¯äœ¿ãæ¹ã以äžã§èŠãŠãããŸãããã
Code Interpreterã¯Settingsã®Beta featuresããONã«ããŠãã ãã

ããŒã¿ã¯ãã¡ãã®Kaggleã®ããŒã¿ã»ããã䜿çšããŠããŸã
ããŒã¿ã»ããã®èª¬æ
The Diabetes prediction dataset is a collection of medical and demographic data from patients, along with their diabetes status (positive or negative). The data includes features such as age, gender, body mass index (BMI), hypertension, heart disease, smoking history, HbA1c level, and blood glucose level. This dataset can be used to build machine learning models to predict diabetes in patients based on their medical history and demographic information. This can be useful for healthcare professionals in identifying patients who may be at risk of developing diabetes and in developing personalized treatment plans. Additionally, the dataset can be used by researchers to explore the relationships between various medical and demographic factors and the likelihood of developing diabetes.
以äžãç§ïŒãšæžããŠããéšå以å€ã¯ChatGPTã®è§£çã§ã
ChatGPTã®ç»é¢ã®äžã®GPT-4ãæŒããŠcode interpreterãéžæããŸã

promptå
¥åç»é¢ã®å·Šã«ã+ãããŒã¯ãããã®ã§ããããcsvãã¡ã€ã«ãã¢ããããŒãïŒ100MBãŸã§è¡ããããã§ãïŒ

ç§ïŒ
Description of the dataset: The Diabetes prediction dataset is a collection of medical and demographic data from patients, along with their diabetes status (positive or negative). The data includes features such as age, gender, body mass index (BMI), hypertension, heart disease, smoking history, HbA1c level, and blood glucose level. This dataset can be used to build machine learning models to predict diabetes in patients based on their medical history and demographic information. This can be useful for healthcare professionals in identifying patients who may be at risk of developing diabetes and in developing personalized treatment plans. Additionally, the dataset can be used by researchers to explore the relationships between various medical and demographic factors and the likelihood of developing diabetes.
ãã®ããŒã¿ã®EDAãè¡ãªã£ãŠãã ãã
ããŒã¿ã»ããã«ã¯ä»¥äžã®ç¹åŸŽãå«ãŸããŠããŸã:
`gender`: æ§å¥ãç·æ§ïŒMaleïŒãŸãã¯å¥³æ§ïŒFemaleïŒã瀺ããŸãã
`age`: 幎霢ã
`hypertension`: é«è¡å§ã®æç¡ã1ã¯ååšãã0ã¯ååšããªãããšã瀺ããŸãã
`heart_disease`: å¿èç ã®æç¡ã1ã¯ååšãã0ã¯ååšããªãããšã瀺ããŸãã
`smoking_history`: å«ç æŽã"never"ïŒå«ç çµéšãªãïŒã"current"ïŒçŸåšå«ç äžïŒã"No Info"ïŒæ å ±ãªãïŒãªã©ã®ã«ããŽãªãããããã§ãã
`bmi`: äœæ Œææ°ïŒBMIïŒã
`HbA1c_level`: ãã¢ã°ããã³A1cïŒHbA1cïŒã¬ãã«ãããã¯ãéå»2ã3ã¶æã®å¹³åè¡ç³å€ãæšå®ããããã«äœ¿çšãããææšã§ãã
`blood_glucose_level`: è¡ç³å€ã
`diabetes`: ç³å°¿ç ã®æç¡ã1ã¯ç³å°¿ç ããã0ã¯ç³å°¿ç ãªãã瀺ããŸãã
次ã«ãåç¹åŸŽã®åºæ¬çãªçµ±èšã確èªããæ¬ æå€ãç°åžžå€ããªããã©ããã確èªããŸãããŸããåç¹åŸŽã®ååžãèŠèŠçã«ç¢ºèªããããã®ãããããäœæããŸãã
ããŒã¿ã»ããã®å šãŠã®åã¯100,000ã®ãšã³ããªãŒãæã£ãŠãããæ¬ æå€ã¯ååšããªãããã§ããããã¯ãããŒã¿ã®ååŠçãç°¡åã«ããŸããããŒã¿åãé©åã«èšå®ãããŠããããã«èŠããŸãã
ç§ïŒgo on
次ã«ãåç¹åŸŽã®åºæ¬çãªçµ±èšæ å ±ãååŸããããŒã¿ã®ååžãããããçè§£ããŸããããããã«ã¯ãæ°å€ããŒã¿ã«å¯Ÿããèšè¿°çµ±èšïŒå¹³åãäžå€®å€ãæå°å€ãæå€§å€ãªã©ïŒãšã«ããŽãªãŒããŒã¿ã«å¯Ÿããé »åºŠåæãè¡ããŸãããŸããåç¹åŸŽã®ååžãèŠèŠåããŸãã

æ°å€ç¹åŸŽã®çµ±èšæ å ±:
`age`: 幎霢ã®ç¯å²ã¯0.08ïŒããããã¯æåäœã®è¡šèšïŒãã80ãŸã§ã§ãå¹³å幎霢ã¯çŽ42æ³ã§ãã幎霢ã®ååžã¯å³ã«åã£ãŠããŠãè¥ã人ã ãå€ãã§ããçè æ³šïŒå¹Žéœ¢ãäœãããããŒã¿ã«ã€ããŠã¯æ¬æ¥ããŒã¿ç¢ºèªå¿ èŠãšæããŸãã
`bmi`: BMIã®ç¯å²ã¯10.01ãã95.69ãŸã§ã§ãå¹³åå€ã¯27.32ã§ãããã®ååžãããå³ã«åã£ãŠããŸããäžéšã®BMIå€ïŒç¹ã«äžéã®95.69ãªã©ïŒã¯ç°åžžã«é«ããããããŸãããããã¯ãããŒã¿å ¥åã®ãšã©ãŒãç¹å®ã®åäœã®ç¹ç°æ§ã瀺ããŠãããããããŸãããçè æ³šïŒBMI倧ããããããŒã¿ã«ã€ããŠã¯æ¬æ¥ããŒã¿ç¢ºèªå¿ èŠãšæããŸãã
`HbA1c_level`: HbA1cã¬ãã«ã®ç¯å²ã¯3.5ãã9.0ã§ãå¹³åå€ã¯5.53ã§ãããã®ååžã¯ã»ãŒæ£èŠååžã«è¿ã圢ãããŠããŸãã
`blood_glucose_level`: è¡ç³å€ã®ç¯å²ã¯80ãã300ã§ãå¹³åå€ã¯138ã§ãããã®ååžãå³ã«åã£ãŠããŸãã
ã«ããŽãªç¹åŸŽã®é »åºŠ:
`gender`: 女æ§ãç·æ§ãããå€ããçŽ18ã®ãšã³ããªãŒããã®ä»ã®æ§å¥ã瀺ããŠããŸãã
`hypertension`ãš`heart_disease`: ãããã®çŸæ£ãæã€äººã ã¯å šäœã®æ¯çã«æ¯ã¹ãŠå°ãªãã§ãã
`smoking_history`: "No Info"ïŒæ å ±ãªãïŒãæãå€ããæ¬¡ã«"never"ïŒå«ç çµéšãªãïŒãç¶ããŸããçŸåšå«ç äžã®äººã ãäžå®ã®å²åãå ããŠããŸããçè æ³šïŒæ å ±ãªãã®åãæ±ããã©ããããæ¬æ¥ã¯æ±ºããå¿ èŠããããŸãã
`diabetes`: ç³å°¿ç ãæã€äººã ã¯å šäœã®çŽ8.5%ãå ããŠããŸãã
次ã«ãç¹åŸŽéã®çžé¢ãèŠãŠã¿ãŸããããããã«ãããç¹åŸŽãç®ç倿°ïŒããã§ã¯ç³å°¿ç ã®æç¡ïŒã«ã©ã®çšåºŠé¢é£ããŠãããããŸãç¹åŸŽéã«ã©ã®çšåºŠã®çžäºäœçšãããããçè§£ããããšãã§ããŸããããã¯ç¹åŸŽéžæãã¢ãã«ã®è§£éã«åœ¹ç«ã¡ãŸãã
ç§ïŒgo on
ãã¿ãŸãããNumPyãã€ã³ããŒãããã®ãå¿ããŠããŸããããããä¿®æ£ããŠãå床çžé¢ãããªãã¯ã¹ãèšç®ããŸãã
ç³ãèš³ãããŸãããcmapïŒã«ã©ãŒãããïŒãå®çŸ©ããã®ãå¿ããŠããŸããããããä¿®æ£ããŠãå床çžé¢ãããªãã¯ã¹ãèšç®ããŸãã

ãã®çžé¢ãããªãã¯ã¹ã«ãããåç¹åŸŽãã©ã®çšåºŠäºãã«é¢é£ããŠããããçè§£ããããšãã§ããŸããå€ã1ã«è¿ãã»ã©ã2ã€ã®ç¹åŸŽã®éã«åŒ·ãæ£ã®çžé¢ãååšããå€ã-1ã«è¿ãã»ã©åŒ·ãè² ã®çžé¢ãååšããŸããå€ã0ã«è¿ãå Žåãç¹åŸŽéã«ã¯ã»ãšãã©ãŸãã¯å šãçžé¢ããªãããšã瀺ããŸãã
以äžã«ãããã€ãã®èгå¯çµæã瀺ããŸãïŒ
ç³å°¿ç ïŒ`diabetes`ïŒã¯`age`ïŒ0.25ïŒã`hypertension`ïŒ0.13ïŒã`heart_disease`ïŒ0.08ïŒã`bmi`ïŒ0.12ïŒã`HbA1c_level`ïŒ0.47ïŒã`blood_glucose_level`ïŒ0.12ïŒãšæ£ã®çžé¢ã瀺ããŠããŸããããã¯ããããã®ç¹åŸŽãç³å°¿ç ã®çºçãšé¢é£ããŠããå¯èœæ§ãããããšã瀺ããŠããŸããç¹ã«`HbA1c_level`ãšã®çžé¢ãæãé«ãã§ãã
`age`ã¯`hypertension`ïŒ0.28ïŒã`heart_disease`ïŒ0.26ïŒã`bmi`ïŒ0.12ïŒã`HbA1c_level`ïŒ0.29ïŒãšæ£ã®çžé¢ã瀺ããŠããŸããããã¯å¹Žéœ¢ããããã®å¥åº·ç¶æ ã«åœ±é¿ãäžããå¯èœæ§ãããããšã瀺ããŠããŸãã
`smoking_history`ãšä»ã®ç¹åŸŽãšã®éã®çžé¢ã¯éåžžã«äœãã§ããããã¯ããã®ããŒã¿ã»ããã«ãããŠå«ç æŽãä»ã®å¥åº·ç¶æ ã«å€§ããªåœ±é¿ãäžããªãå¯èœæ§ãããããšã瀺ããŠããŸãã
ãã®çžé¢åæã¯åæã®æ¢çŽ¢çããŒã¿åæã®äžéšã§ããããããã®ç¹åŸŽãç³å°¿ç ã®äºæž¬ã«æçšã§ãããã©ããã確èªããããã«ã¯ããã詳现ãªçµ±èšçãã¹ããæ©æ¢°åŠç¿ã¢ãã«ã®äœ¿çšãå¿ èŠã§ãã
ç§ïŒgo on
次ã«ãããŒã¿ã»ããã®ã«ããŽãªã«ã«å€æ°ã«ã€ããŠæ·±ãæãäžããŠã¿ãŸããããããã«ã¯ãåã«ããŽãªå€æ°ã®ç³å°¿ç æç¡ã«å¯Ÿãã圱é¿ãèŠèŠåããããã®ããŒãããããäœæããŸããããã«ãããç¹å®ã®ã«ããŽãªãç³å°¿ç ã®çºçã«ã©ã®ããã«é¢é£ããŠããããçè§£ããã®ã«åœ¹ç«ã¡ãŸãã

ãããã®ããŒããããããã以äžã®èгå¯çµæãåŸãããšãã§ããŸãïŒ
`gender`: ç·æ§ãšå¥³æ§ã®éã§ç³å°¿ç ã®çºççã«å€§ããªå·®ã¯èŠãããŸããããããããã®ç¹åŸŽã¯ä»ã®ç¹åŸŽãšçµã¿åãããŠèæ ®ãããšæçšãããããŸããã
`hypertension`ãš`heart_disease`: é«è¡å§ãå¿èç ãæã€äººã ã¯ãããããæããªã人ã ãããç³å°¿ç ã«ãªãå¯èœæ§ãé«ãããã§ããããã¯ãããã®çŸæ£ãç³å°¿ç ãšé¢é£ããŠããå¯èœæ§ã瀺ããŠããŸãã
`smoking_history`: çŸåšå«ç äžã®äººã ã以åå«ç ããŠãã人ã ã¯ãå«ç çµéšã®ãªã人ã ãå«ç æŽãäžæãªäººã ã«æ¯ã¹ãŠãç³å°¿ç ã«ãªãå¯èœæ§ãé«ãããã§ãã
ãã®ãããªèгå¯ã¯ãããŒã¿ã»ããã®çè§£ãæ·±ããç¹åŸŽãç®æšå€æ°ã«ã©ã®ããã«åœ±é¿ãäžãããã®åæã®æŽå¯ãæäŸããŸãããããããããã®é¢ä¿ãå æé¢ä¿ã瀺ããã®ã§ãããšçµè«ä»ããããã«ã¯ããããªãçµ±èšçæ€å®ãã¢ããªã³ã°ãå¿ èŠã§ãã
以äžãããã®ããŒã¿ã»ããã®æ¢çŽ¢çããŒã¿åæïŒEDAïŒã®åºæ¬çãªéšåã§ãããã®EDAã¯ãããŒã¿ã®çè§£ãæ·±ããããŒã¿ã¯ã¬ã³ãžã³ã°ãååŠçã®å¿ èŠæ§ãç¹åŸŽãšã³ãžãã¢ãªã³ã°ã®å¯èœæ§ããããŠé©çšå¯èœãªæ©æ¢°åŠç¿ã¢ãã«ã®éžæãã¬ã€ãããŸãã
以äžã§EDAã¯çµããã§ãããã®åŸãgo onãšã€ã¥ãããšå»¶ã
ã«è§£æãèªåã§ããŠãããŸãç¬ãå®éã¯ç¶æ³ã«å¿ããŠææ¡ææ³ã®äžããèªåã§éžæããŠããã®ãããã§ããããä»åã¯go onã§ã©ããŸã§è¡ãããèŠãŠã¿ãŸãã
ç§ïŒgo on
æ¢çŽ¢çããŒã¿åæ (EDA) ã®æ¬¡ã®ã¹ãããã¯ãããŒã¿ã¯ã¬ã³ãžã³ã°ãååŠçãç¹åŸŽãšã³ãžãã¢ãªã³ã°ãã¢ããªã³ã°ãèšç»ããããšã§ãã以äžã«ãçŸåšã®ããŒã¿ã»ããã䜿çšããŠå¯èœãªæ¬¡ã®ã¹ããããããã€ã瀺ããŸãã
ããŒã¿ã¯ã¬ã³ãžã³ã°ãšååŠçïŒãã®ããŒã¿ã»ããã¯ãã§ã«éåžžã«ã¯ãªãŒã³ã§ãããšèŠããŸãããããã€ãã®ç°åžžå€ïŒäŸãã°éåžžã«é«ãBMIïŒãååšããå¯èœæ§ããããŸãããããã®å€ã詳ãã調æ»ããããããå®éã®ããŒã¿ã§ãããããŸãã¯ãšã©ãŒã§ãããã倿ããããšãéèŠã§ãããŸããã«ããŽãªã«ã«å€æ°ã¯é©åã«ãšã³ã³ãŒããããå¿ èŠããããŸããäŸãã°ã`gender` ãš `smoking_history` 㯠One-Hot Encoding ãªã©ã䜿ã£ãŠãšã³ã³ãŒãããããšãã§ããŸãã
ç¹åŸŽãšã³ãžãã¢ãªã³ã°ïŒæ¢åã®ç¹åŸŽããæ°ããç¹åŸŽãäœæããããšã¯ãã¢ãã«ã®ããã©ãŒãã³ã¹ãåäžãããããã®åŒ·åãªææ®µã§ããäŸãã°ã幎霢ãšBMIã®çµã¿åããããæ°ããç¹åŸŽãäœæããããšã¯ã幎霢ãè¥æºãšã©ã®ããã«é¢é£ããŠããããããããçè§£ããã®ã«åœ¹ç«ã€ãããããŸããã
ã¢ããªã³ã°ïŒååŠçãšç¹åŸŽãšã³ãžãã¢ãªã³ã°ã®åŸãé©åãªæ©æ¢°åŠç¿ã¢ãã«ãéžæãããã¬ãŒãã³ã°ãéå§ããããšãã§ããŸãããã®ããŒã¿ã»ããã¯ç£ç£åŠç¿ã®åé¡ã«é©ããŠãããç³å°¿ç ã®æç¡ãäºæž¬ããããã®äºå€åé¡åé¡ãšããŠæ±ãããšãã§ããŸãã䜿çšå¯èœãªã¢ãã«ã«ã¯ããžã¹ãã£ãã¯ååž°ãæ±ºå®æšãã©ã³ãã ãã©ã¬ã¹ããåŸé ããŒã¹ãã£ã³ã°ããµããŒããã¯ã¿ãŒãã·ã³ãªã©ããããŸãã
ã¢ãã«è©äŸ¡ãšæ¹åïŒã¢ãã«ã®ããã©ãŒãã³ã¹ãè©äŸ¡ããå¯èœãªãã°æ¹åããããã®è¿œå ã®ã¹ããããæ€èšããŸããããã«ã¯äº€å·®æ€èšŒããã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°ããŸãã¯ã¢ã³ãµã³ãã«ã¡ãœããã®äœ¿çšãå«ãŸããå¯èœæ§ããããŸãã
以äžãããã®ããŒã¿ã»ããã«å¯Ÿããå¯èœãªæ¬¡ã®ã¹ãããã®äžéšã§ããå ·äœçãªã¢ã¯ã·ã§ã³ã¯ãå ·äœçãªç®æšãšããžãã¹ã³ã³ããã¹ãã«ãã£ãŠç°ãªããŸãã
ç§ïŒgo on
次ã®ã¹ãããã§ã¯ãæ©æ¢°åŠç¿ã¢ãã«ã®èšç·Žãšè©äŸ¡ãè¡ããŸããããã§ã¯ãã©ã³ãã ãã©ã¬ã¹ãåé¡åšã䜿çšããŠã¢ãã«ãèšç·Žãããã®ããã©ãŒãã³ã¹ãè©äŸ¡ããŸããã©ã³ãã ãã©ã¬ã¹ãã¯ã¢ã³ãµã³ãã«åŠç¿æ¹æ³ã§ã倿°ã®æ±ºå®æšãèšç·Žãããããã®å¹³åäºæž¬ã䜿çšããŸããããã«ãããéåŠç¿ãé¿ããäžè¬åæ§èœãåäžãããããšãã§ããŸãã
ã¢ãã«èšç·Žã®åã«ãã«ããŽãªå€æ°ããšã³ã³ãŒãããããŒã¿ã»ãããèšç·Žã»ãããšãã¹ãã»ããã«åå²ããŸããã«ããŽãªå€æ°ã®ãšã³ã³ãŒãã£ã³ã°ã¯ãã¢ãã«ããããã®å€æ°ãæ£ããè§£éã§ããããã«ããããã«å¿ èŠã§ããããŒã¿ã®åå²ã¯ãã¢ãã«ã®äžè¬åèœåãè©äŸ¡ããããã«å¿ èŠã§ããèšç·Žã»ããã¯ã¢ãã«ã®åŠç¿ã«äœ¿çšããããã¹ãã»ããã¯ã¢ãã«ã®ããã©ãŒãã³ã¹ãè©äŸ¡ããããã«äœ¿çšãããŸãã
ãŸããå¿
èŠãªã©ã€ãã©ãªãã€ã³ããŒãããããŒã¿ã®ååŠçãšåå²ãè¡ããŸãããã®åŸãã¢ãã«ã®èšç·Žãšè©äŸ¡ãè¡ããŸãã

ã©ã³ãã ãã©ã¬ã¹ãåé¡åšã®ããã©ãŒãã³ã¹ãè©äŸ¡ããçµæã¯ä»¥äžã®éãã§ãïŒ
粟床ïŒAccuracyïŒ: ãã¹ãããŒã¿ã»ããå šäœã®ãã¡ãæ£ããäºæž¬ããããµã³ãã«ã®å²åã¯97%ã§ããããã¯ã¢ãã«ãå šäœçã«è¯ãããã©ãŒãã³ã¹ã瀺ããŠããããšã瀺ããŠããŸãã
åçŸçïŒRecallïŒ: ç³å°¿ç ã®ããæ£è ãç³å°¿ç ãšããŠæ£ããäºæž¬ã§ããå²åã¯69%ã§ããããã¯ãã¢ãã«ãç³å°¿ç ãæã€ãã¹ãŠã®æ£è ãèŠã€ãåºãèœåã瀺ããŠããŸãã
é©åçïŒPrecisionïŒ: ç³å°¿ç ãšäºæž¬ãããæ£è ã®ãã¡ãå®éã«ç³å°¿ç ã§ãã£ãå²åã¯94%ã§ããããã¯ãã¢ãã«ãç³å°¿ç ã®äºæž¬ã«ããã誀æ€åºçã瀺ããŠããŸãã
F1ã¹ã³ã¢: åçŸçãšé©åçã®èª¿åå¹³åã§ããããããäºã€ã®ææšã®ãã©ã³ã¹ã瀺ããŸãããã®ã¹ã³ã¢ã¯79%ã§ãã¢ãã«ãå šäœçã«è¯å¥œãªããã©ãŒãã³ã¹ã瀺ããŠããŸãããç³å°¿ç ã®æ£è ãç¹å®ããèœåã¯æ¹åã®äœå°ããããŸãã
ãŸããæ··åè¡åã¯ã¢ãã«ã®ããã©ãŒãã³ã¹ãããã«è©³çްã«çè§£ããã®ã«åœ¹ç«ã¡ãŸãããã®ã¢ãã«ã¯ã18219ã®çéœæ§ïŒTP: ç³å°¿ç ãšæ£ããäºæž¬ããïŒãš1175ã®çé°æ§ïŒTN: ç³å°¿ç ã§ãªããšæ£ããäºæž¬ããïŒãæã£ãŠããŸãããããã533ã®åœé°æ§ïŒFN: ç³å°¿ç ã§ããã«ãããããããç³å°¿ç ã§ãªããšäºæž¬ããïŒãš73ã®åœéœæ§ïŒFP: ç³å°¿ç ã§ãªãã«ãããããããç³å°¿ç ãšäºæž¬ããïŒãååšããŸãã
ãããã®çµæãåºã«ãã¢ãã«ã®ããã©ãŒãã³ã¹ãããã«åäžãããããã®æ¹åçãèããããšãã§ããŸããããã«ã¯ãã€ããŒãã©ã¡ãŒã¿ã®èª¿æŽãä»ã®ã¢ãã«ã®è©ŠçšããŸãã¯ç¹åŸŽãšã³ãžãã¢ãªã³ã°ã®æ¹åãªã©ãå«ãŸããŸãã
ç§ïŒgo on
äžèšã®ææ¡ãå®è¡ããããã«ããã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°ãå«ãããé«åºŠãªã¢ãã«ã®èšç·Žãšè©äŸ¡ãè¡ããŸãããã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°ã«ã¯Scikit-learnã®`GridSearchCV`ã䜿çšããŸããããã¯ã°ãªãããµãŒããšäº€å·®æ€èšŒãçµã¿åããããã®ã§ãäžãããããã€ããŒãã©ã¡ãŒã¿ã®çµã¿åãããå šãŠè©Šããæãè¯ãããã©ãŒãã³ã¹ãåºããã€ããŒãã©ã¡ãŒã¿ãéžã³ãŸãã
以äžã«ã`GridSearchCV`ã䜿çšããŠã©ã³ãã ãã©ã¬ã¹ãåé¡åšã®ãã€ããŒãã©ã¡ãŒã¿ããã¥ãŒãã³ã°ããæé ã瀺ããŸããç¹ã«ãæ±ºå®æšã®æ°ïŒ`n_estimators`ïŒãšæ±ºå®æšã®æå€§æ·±ãïŒ`max_depth`ïŒã®ãã€ããŒãã©ã¡ãŒã¿ã調æŽããŸãããããã®ãã©ã¡ãŒã¿ã¯ã¢ãã«ã®è€éããšããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããŸãã
泚æ: ãã®æé ã¯èšç®ã«æéãèŠããå ŽåããããŸãããã€ããŒãã©ã¡ãŒã¿ã®æ°ãšç¯å²ãããŒã¿ã»ããã®ãµã€ãºãããã³èšç®èœåã«ãããŸãã
ç§ïŒgo on
`GridSearchCV`ãèŠã€ããæé©ãªãã€ããŒãã©ã¡ãŒã¿ã¯ä»¥äžã®ãšããã§ãïŒ
`max_depth`: 10
`n_estimators`: 50
ãããã®ãã©ã¡ãŒã¿ã¯ãã¢ãã«ã®ããã©ãŒãã³ã¹ãšèšç®æéã®ãã©ã³ã¹ãæé©ã«ããŸããæ·±ããæ·±ãæ±ºå®æšã¯ã¢ãã«ãè€éã«ããéåŠç¿ã®ãªã¹ã¯ãé«ããŸãããæµ ãæ±ºå®æšã¯ã¢ãã«ã®ããã©ãŒãã³ã¹ãå¶éããå¯èœæ§ããããŸããåæ§ã«ãå€ãã®æ±ºå®æšã䜿çšãããšã¢ãã«ã®ããã©ãŒãã³ã¹ãåäžããå¯èœæ§ããããŸãããèšç®æéãé·ããªããŸãã
次ã«ããããã®æé©ãªãã©ã¡ãŒã¿ã䜿çšããŠã¢ãã«ãåèšç·Žããããã©ãŒãã³ã¹ãè©äŸ¡ããŸãã

ãã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°åŸã®ã©ã³ãã ãã©ã¬ã¹ãåé¡åšã®ããã©ãŒãã³ã¹ã¯ä»¥äžã®ããã«ãªããŸããïŒ
粟床ïŒAccuracyïŒ: ãã¹ãããŒã¿ã»ããå šäœã®ãã¡ãæ£ããäºæž¬ããããµã³ãã«ã®å²åã¯97%ã§ããããã¯ãã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°åã®ã¢ãã«ãšåãã§ãã
åçŸçïŒRecallïŒ: ç³å°¿ç ã®ããæ£è ãç³å°¿ç ãšããŠæ£ããäºæž¬ã§ããå²åã¯67%ã§ããããã¯ãã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°åã®ã¢ãã«ãšæ¯èŒããŠè¥å¹²äœäžããŠããŸãã
é©åçïŒPrecisionïŒ: ç³å°¿ç ãšäºæž¬ãããæ£è ã®ãã¡ãå®éã«ç³å°¿ç ã§ãã£ãå²åã¯100%ã§ããããã¯ãã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°åã®ã¢ãã«ãšæ¯èŒããŠè¥å¹²åäžããŠããŸãã
F1ã¹ã³ã¢: åçŸçãšé©åçã®èª¿åå¹³åã§ããããããäºã€ã®ææšã®ãã©ã³ã¹ã瀺ããŸãããã®ã¹ã³ã¢ã¯81%ã§ããã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°åã®ã¢ãã«ãšæ¯èŒããŠè¥å¹²åäžããŠããŸãã
ãŸããæ··åè¡åã¯ä»¥äžã®éãã§ãïŒ
çéœæ§ïŒTP: ç³å°¿ç ãšæ£ããäºæž¬ããïŒ: 18292
çé°æ§ïŒTN: ç³å°¿ç ã§ãªããšæ£ããäºæž¬ããïŒ: 1152
åœé°æ§ïŒFN: ç³å°¿ç ã§ããã«ãããããããç³å°¿ç ã§ãªããšäºæž¬ããïŒ: 0
åœéœæ§ïŒFP: ç³å°¿ç ã§ãªãã«ãããããããç³å°¿ç ãšäºæž¬ããïŒ: 556
ãããã®çµæããããã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°ã¯ã¢ãã«ã®ããã©ãŒãã³ã¹ãè¥å¹²åäžãããããšãã§ããŸãããåçŸçã¯è¥å¹²äœäžããŸããããé©åçãšF1ã¹ã³ã¢ã¯åäžããŸãããããã¯ããã€ããŒãã©ã¡ãŒã¿ãã¥ãŒãã³ã°ãã¢ãã«ã®èª€æ€åºçãæžããã®ã«åœ¹ç«ã£ãããšã瀺ããŠããŸããããããã¢ãã«ã¯ãŸã ç³å°¿ç ã®ããæ£è ã®äžéšãèŠéããŠããŸãããããæ¹åããããã«ã¯ãä»ã®ã¢ãã«ã詊ããç¹åŸŽãšã³ãžãã¢ãªã³ã°ãæ¹åããããŸãã¯äžåè¡¡ããŒã¿ã®åé¡ã察åŠãããªã©ã®è¿œå ã®ã¹ããããèæ ®ããããšãæçšãããããŸããã
ç§ïŒgo on
äžèšã®çµæãèžãŸããŠãæŽãªãã¢ãã«æ¹åã®ããã«ãã¢ã³ããŒãµã³ããªã³ã°ã詊ããŠã¿ãŸããããã¢ã³ããŒãµã³ããªã³ã°ã¯äžåè¡¡ããŒã¿ãåŠçããããã®äžã€ã®ææ³ã§ã倿°æŽŸã¯ã©ã¹ã®ãµã³ãã«ãã©ã³ãã ã«åé€ããŠãå°æ°æŽŸã¯ã©ã¹ãšå€æ°æŽŸã¯ã©ã¹ã®ãµã³ãã«æ°ãåè¡¡ãããŸãã
ãã®ææ³ã®æ¬ ç¹ã¯ã倿°æŽŸã¯ã©ã¹ã®éèŠãªæ å ±ãåé€ããå¯èœæ§ãããããšã§ããããããäžåè¡¡ããŒã¿ã«å¯Ÿããã¢ãã«ã®ããã©ãŒãã³ã¹ãæ¹åããã®ã«åœ¹ç«ã€å ŽåããããŸãã
`imbalanced-learn`ã©ã€ãã©ãªã®`RandomUnderSampler`ã䜿ã£ãŠã¢ã³ããŒãµã³ããªã³ã°ãè¡ããŸããæ¬¡ã«ãã¢ã³ããŒãµã³ããªã³ã°åŸã®ããŒã¿ã§ã¢ãã«ãåèšç·Žããããã©ãŒãã³ã¹ãè©äŸ¡ããŸãã
泚æïŒ`imbalanced-learn`ã©ã€ãã©ãªã¯2021幎9æã®ç¥èã«ãããªãæç¹ã§äœ¿çšå¯èœã§ããåŸã®ããŒãžã§ã³ã§ã¯å©çšã§ããªãå ŽåããããŸãã
ãã¿ãŸãããç§ã®èª€ãã§ããçŸåšã®ç°å¢ã§ã¯ `imbalanced-learn` ã©ã€ãã©ãªã䜿çšããããšã¯ã§ããŸããã代ããã«ãæåã§ã¢ã³ããŒãµã³ããªã³ã°ãè¡ã£ãŠã¿ãŸãããã
ãŸãã倿°æŽŸã¯ã©ã¹ïŒç³å°¿ç ã§ãªãïŒã®ã€ã³ããã¯ã¹ãååŸãããããã®äžããã©ã³ãã ã«å°æ°æŽŸã¯ã©ã¹ïŒç³å°¿ç ïŒã®æ°ã ãã€ã³ããã¯ã¹ãéžæããŸããæ¬¡ã«ãéžæããã倿°æŽŸã¯ã©ã¹ã®ã€ã³ããã¯ã¹ãšå°æ°æŽŸã¯ã©ã¹ã®å šã€ã³ããã¯ã¹ãçµåããŠãåè¡¡ããããŒã¿ã»ãããäœæããŸãã
ãããã®æé ã以äžã«ç€ºããŸãã

ã¢ã³ããŒãµã³ããªã³ã°åŸã®ã©ã³ãã ãã©ã¬ã¹ãåé¡åšã®ããã©ãŒãã³ã¹ã¯ä»¥äžã®ããã«ãªããŸããïŒ
粟床ïŒAccuracyïŒ: ãã¹ãããŒã¿ã»ããå šäœã®ãã¡ãæ£ããäºæž¬ããããµã³ãã«ã®å²åã¯90%ã§ããããã¯ãã¢ã³ããŒãµã³ããªã³ã°åã®ã¢ãã«ãšæ¯èŒããŠè¥å¹²äœäžããŠããŸãã
åçŸçïŒRecallïŒ: ç³å°¿ç ã®ããæ£è ãç³å°¿ç ãšããŠæ£ããäºæž¬ã§ããå²åã¯91%ã§ããããã¯ãã¢ã³ããŒãµã³ããªã³ã°åã®ã¢ãã«ãšæ¯èŒããŠå€§å¹ ã«åäžããŠããŸãã
é©åçïŒPrecisionïŒ: ç³å°¿ç ãšäºæž¬ãããæ£è ã®ãã¡ãå®éã«ç³å°¿ç ã§ãã£ãå²åã¯47%ã§ããããã¯ãã¢ã³ããŒãµã³ããªã³ã°åã®ã¢ãã«ãšæ¯èŒããŠå€§å¹ ã«äœäžããŠããŸãã
F1ã¹ã³ã¢: åçŸçãšé©åçã®èª¿åå¹³åã§ããããããäºã€ã®ææšã®ãã©ã³ã¹ã瀺ããŸãããã®ã¹ã³ã¢ã¯62%ã§ãã¢ã³ããŒãµã³ããªã³ã°åã®ã¢ãã«ãšæ¯èŒããŠå€§å¹ ã«äœäžããŠããŸãã
ãŸããæ··åè¡åã¯ä»¥äžã®éãã§ãïŒ
çéœæ§ïŒTP: ç³å°¿ç ãšæ£ããäºæž¬ããïŒ: 16535
çé°æ§ïŒTN: ç³å°¿ç ã§ãªããšæ£ããäºæž¬ããïŒ: 1554
åœé°æ§ïŒFN: ç³å°¿ç ã§ããã«ãããããããç³å°¿ç ã§ãªããšäºæž¬ããïŒ: 1757
åœéœæ§ïŒFP: ç³å°¿ç ã§ãªãã«ãããããããç³å°¿ç ãšäºæž¬ããïŒ: 154
ãããã®çµæãããã¢ã³ããŒãµã³ããªã³ã°ã¯ã¢ãã«ã®åçŸçãå€§å¹ ã«åäžãããäžæ¹ã§ãé©åçãšF1ã¹ã³ã¢ãå€§å¹ ã«äœäžãããŸãããã€ãŸããã¢ãã«ã¯ç³å°¿ç ã®æ£è ãããå€ãèŠã€ãåºãããšãã§ããããã«ãªããŸãããã誀æ€åºçãå¢ããŸãããããã¯ãã¢ã³ããŒãµã³ããªã³ã°ã倿°æŽŸã¯ã©ã¹ã®éèŠãªæ å ±ãåé€ããå¯èœæ§ãããããã§ãã
ãããã®çµæãèæ ®ã«å ¥ãããšãã¢ãã«ã®æ¹åçã¯ç¹å®ã®ããžãã¹ã³ã³ããã¹ããç®æšã«ãããŸããäŸãã°ãç³å°¿ç ã®æ©æçºèŠãæåªå äºé ã§ããã°ãåçŸçãæå€§åããããšãéèŠãããããŸãããäžæ¹ã誀æ€åºãæå°éã«æããããšãéèŠã§ããã°ãé©åçãæå€§åããããšãéèŠãããããŸããã
ç§ïŒgo on
æåŸã«ãç¹åŸŽã®éèŠæ§ãè©äŸ¡ããŸããããã¯ãããããã®ç¹åŸŽãã¢ãã«ã®äºæž¬ã«ã©ãã ã圱é¿ãäžãããã瀺ããŸããã©ã³ãã ãã©ã¬ã¹ãåé¡åšã¯ãåç¹åŸŽã®éèŠæ§ãèªåçã«èšç®ããæ©èœãæã£ãŠããŸãã
以äžã«ãç¹åŸŽã®éèŠæ§ãèšç®ããçµæãããããããæé ã瀺ããŸããããã«ãããã©ã®ç¹åŸŽãç³å°¿ç ã®äºæž¬ã«æãéèŠã§ããããèŠèŠçã«çè§£ããããšãã§ããŸããããã¯ãå¥åº·ãããã§ãã·ã§ãã«ãç³å°¿ç ã®ãªã¹ã¯èŠå ã«ã€ããŠã®çè§£ãæ·±ããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸãããŸããç¹åŸŽã®éèŠæ§ã¯ãç¹åŸŽéžæãç¹åŸŽãšã³ãžãã¢ãªã³ã°ã®æ¹åã«åœ¹ç«ã€æ å ±ãæäŸããŸãã
ã¢ãã«ã®ç¹åŸŽã®éèŠæ§ãè©äŸ¡ããçµæãæ¬¡ã®ããã«ãªããŸããïŒ

HbA1cã¬ãã«ïŒHbA1c_levelïŒ: ãã®ç¹åŸŽã¯æãéèŠã§ãã¢ãã«ã®äºæž¬ã«å€§ããªåœ±é¿ãäžããŠããŸããHbA1cã¬ãã«ã¯ãéå»2ã3ã¶æéã®å¹³åè¡ç³å€ã瀺ããããç³å°¿ç ã®èšºæãšç®¡çã«åºã䜿çšãããŸãã
è¡ç³å€ïŒblood_glucose_levelïŒ: ãã®ç¹åŸŽãéåžžã«éèŠã§ãç³å°¿ç ã®èšºæãšç®¡çã«çŽæ¥é¢é£ããŠããŸãã
幎霢ïŒageïŒ: 幎霢ã¯ç³å°¿ç ãªã¹ã¯ã®éèŠãªèŠçŽ ã§ãé«éœ¢è ã¯ç³å°¿ç ã«ãªããªã¹ã¯ãé«ããšãããŠããŸãã
BMIïŒbmiïŒ: BMIãç³å°¿ç ãªã¹ã¯ãšé¢é£ããŠãããè¥æºã®äººã¯ç³å°¿ç ã«ãªããªã¹ã¯ãé«ããšãããŠããŸãã
ãã®ä»ã®ç¹åŸŽãäŸãã°é«è¡å§ïŒhypertensionïŒãå¿çŸæ£ïŒheart_diseaseïŒãäžå®ã®åœ±é¿ãæã£ãŠããŸãããäžèšã®4ã€ã®ç¹åŸŽã»ã©ã§ã¯ãããŸããã
ãããã®çµæã¯ãç³å°¿ç ã®äºæž¬ã«æãéèŠãªèŠå ãäœã§ããããçè§£ããã®ã«åœ¹ç«ã¡ãŸãããŸããç¹åŸŽéžæãç¹åŸŽãšã³ãžãã¢ãªã³ã°ãæ¹åããããã®æ å ±ãæäŸããŸããç¹ã«ãéèŠãªç¹åŸŽãéç¹çã«èæ ®ããããšã§ãã¢ãã«ã®ããã©ãŒãã³ã¹ãæ¹åããå¯èœæ§ããããŸãã
ç§ïŒgo on
以äžã®çµæãèžãŸããŠãããŒã¿ã»ããã®æ¢çŽ¢çããŒã¿åæãšã¢ãã«ã®èšç·Žã»è©äŸ¡ã«ã€ããŠèŠç¹ããŸãšããŸãã
ããŒã¿ã®çè§£: ããŒã¿ã»ããã¯å¹Žéœ¢ãBMIãHbA1cã¬ãã«ãè¡ç³å€ãªã©ã®å»ççããã³äººå£çµ±èšåŠçãªç¹åŸŽãå«ãã§ããŸãããããã®ç¹åŸŽã䜿çšããŠãæ£è ãç³å°¿ç ã§ãããã©ãããäºæž¬ããã¢ãã«ãèšç·ŽããŸããã
ããŒã¿ã®ååž: æ°å€ç¹åŸŽã®ååžã芳å¯ãããããã®ç¹åŸŽãæ£åžžãªç¯å²å ã§ããããšã確èªããŸããã
ã¢ãã«ã®èšç·Žãšè©äŸ¡: ã©ã³ãã ãã©ã¬ã¹ãåé¡åšãèšç·Žãããã¹ãããŒã¿ã»ããã§è©äŸ¡ããŸããããã®çµæãã¢ãã«ã¯å šäœçã«è¯ãããã©ãŒãã³ã¹ã瀺ããŸããããç³å°¿ç ã®æ£è ãç¹å®ããèœåã¯æ¹åã®äœå°ããããŸããã
ãã€ããŒãã©ã¡ãŒã¿ã®ãã¥ãŒãã³ã°: ãã€ããŒãã©ã¡ãŒã¿ã®ãã¥ãŒãã³ã°ãè¡ããã¢ãã«ã®ããã©ãŒãã³ã¹ãè¥å¹²åäžãããããšãã§ããŸããã
ã¢ã³ããŒãµã³ããªã³ã°: ã¢ã³ããŒãµã³ããªã³ã°ã詊ããã¢ãã«ã®åçŸçãå€§å¹ ã«åäžãããäžæ¹ã§ãé©åçãšF1ã¹ã³ã¢ãå€§å¹ ã«äœäžãããããšã芳å¯ããŸããã
ç¹åŸŽã®éèŠæ§: HbA1cã¬ãã«ãè¡ç³å€ã幎霢ãBMIãç³å°¿ç ã®äºæž¬ã«æãéèŠãªç¹åŸŽã§ããããšã確èªããŸããã
ãããã®çµæã¯ãç³å°¿ç ã®äºæž¬ã«æãéèŠãªèŠå ãäœã§ããããçè§£ããã®ã«åœ¹ç«ã¡ãŸãããŸããç¹åŸŽéžæãç¹åŸŽãšã³ãžãã¢ãªã³ã°ãæ¹åããããã®æ å ±ãæäŸããŸãã
ããã§ããªããç³å°¿ç ã®äºæž¬ã¢ãã«ãæ¹åããããã®ããŸããŸãªæ¹æ³ããããŸããããã«ã¯ãããé«åºŠãªç¹åŸŽãšã³ãžãã¢ãªã³ã°ãä»ã®ã¢ãã«ã®è©Šçšãã¢ã³ãµã³ãã«åŠç¿ã®å©çšãäžåè¡¡ããŒã¿ã®åé¡ã®è§£æ±ºãªã©ãå«ãŸããŸããå ·äœçãªã¢ã¯ã·ã§ã³ã¯ãåé¡ã®ç¹æ§ãå©çšå¯èœãªãªãœãŒã¹ãããã³å ·äœçãªããžãã¹ç®æšã«ãã£ãŠç°ãªããŸãã
äœ¿ãæ¹ã®å®äŸã¯ä»¥äžã§ãã
ãŸãcsvãã¡ã€ã«ãåºåããããšãã§ããŸãã®ã§äŸãã°ååŠçãæžãã csvãã¡ã€ã«ãããŠã³ããŒããããå Žåã¯äžèšã®ããã«ãé¡ãããã°ããã§ãã
ç§ïŒåŠçãæžãã csvãã¡ã€ã«ãDLããã

ã©ã€ãã©ãªãããã±ãŒãžã«ãã£ãŠã¯äœ¿ããªããã®ãããããã§ãã以äžã®ãã®ã¯äœ¿çšã§ããŸããã§ããã
LightGBM (XGBoostã¯å©çšå¯èœ)
CatBoost
imblearnïŒSMOTEïŒ
Boruta
SHAP
ChatGPTã«Code Interpreterã§å©çšã§ããªããã®ãèããŠã¿ããšããè§£çã¯ä»¥äžã®éãã§ããã
Code Interpreterã¯ã€ã³ã¿ãŒãããã«æ¥ç¶ãããŠããªããããPythonã®æšæºã©ã€ãã©ãªãäžéšã®ãµãŒãããŒãã£ã©ã€ãã©ãªã®ã¿ããµããŒãããŠããŸãã以äžã¯äœ¿çšã§ããªãäžéšã®ã©ã€ãã©ãªã®äŸã§ãïŒ
TensorFlow, PyTorch, Kerasãªã©ã®æ·±å±€åŠç¿ãã¬ãŒã ã¯ãŒã¯ïŒãããã®ãã¬ãŒã ã¯ãŒã¯ã¯å€§éã®èšç®ãªãœãŒã¹ãå¿ èŠãšããéåžžã¯GPUã䜿çšããŠããŸããããããCode Interpreterã®ç°å¢ã¯CPUã®ã¿ããµããŒãããŠããããããããã®ã©ã€ãã©ãªã䜿ãããšã¯ã§ããŸããã
scrapy, requests, BeautifulSoupãªã©ã®Webã¹ã¯ã¬ã€ãã³ã°ãHTTPãªã¯ãšã¹ããè¡ãã©ã€ãã©ãªïŒCode Interpreterã®ç°å¢ã¯ã€ã³ã¿ãŒãããã«æ¥ç¶ããŠããªãããããããã®ã©ã€ãã©ãªã䜿çšããŠã€ã³ã¿ãŒãããäžã®ããŒã¿ãååŸããããšã¯ã§ããŸããã
pandas-profiling, seaborn, matplotlibãªã©ã®äžéšã®ããŒã¿åæãšããžã¥ã¢ã©ã€ãŒãŒã·ã§ã³ã©ã€ãã©ãªïŒãããã®ã©ã€ãã©ãªã¯ãç¹ã«å€§ããªããŒã¿ã»ãããæ±ãéã«ã¯ã倧éã®èšç®ãªãœãŒã¹ãå¿ èŠãšããå¯èœæ§ããããŸãããã®ããããããã®ã©ã€ãã©ãªãå®å šã«ãµããŒãããããšã¯ã§ããŸããã
ã©ã€ãã©ãªãŸãã¯ã¢ãžã¥ãŒã«ã®ã€ã³ã¹ããŒã«ãå¿ èŠãšãããã®ä»ã®ã©ã€ãã©ãªïŒCode Interpreterã®ç°å¢ã¯éããããŠãããæ°ããã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ã¯èš±å¯ãããŠããŸããã
ããã§ããCode Interpreterã¯numpy, pandas, scikit-learn, matplotlib, and scipyãªã©ãããŒã¿åæã𿩿¢°åŠç¿ã«äžè¬çã«äœ¿çšãããå€ãã®ã©ã€ãã©ãªããµããŒãããŠããŸãã
å®éãçµæ§å¶çŽããããŸãã®ã§ããçšåºŠ ããã£ãŠãã人ã¯GoogleColabãVScodeãªã©ã§GPT-4ã«èããªããã§ãå®è¡ããæ¹ãèªç±åºŠãé«ãè§£æãè¡ãããšæããŸãããŸãCode interpreterã¯ã©ã€ãã©ãªã䜿ããªããŠå®è¡ã¯è¡ããªããŠã ã³ãŒãã®çæã¯å¯èœãªããã§ãã
以äžã¯ïŒå®è¡ã¯æãããïŒBorutaã§å€æ°éžæã®ã³ãŒãã ãçæããŠãšãé¡ãããçµæã§ã
Borutaã¯ãã©ã³ãã ãã©ã¬ã¹ãã®ãããªã¢ã«ãŽãªãºã ã䜿çšããŠç¹åŸŽéã®éžæãè¡ãPythonã®ããã±ãŒãžã§ãã以äžã«ãBorutaã䜿çšããŠç¹åŸŽéã®éžæãè¡ãããã®Pythonã³ãŒãã¹ãããããæäŸããŸãã
ãã ãããã®ã³ãŒããå®è¡ããããã«ã¯ããborutaãããã±ãŒãžãšãsklearnãããã±ãŒãžãå¿ èŠã§ãã
from sklearn.ensemble import RandomForestClassifier
from boruta import BorutaPy
# Load the dataset
df = pd.read_csv('diabetes_prediction_dataset_encoded.csv')
# Define the feature matrix X and target variable y
X = df.drop(columns=['diabetes'])
y = df['diabetes']
# Define the random forest classifier
rf = RandomForestClassifier(n_jobs=-1, class_weight='balanced', max_depth=5)
# Define the Boruta feature selection method
feat_selector = BorutaPy(rf, n_estimators='auto', verbose=2, random_state=1)
# Perform feature selection
feat_selector.fit(X.values, y.values)
# Get the selected features
selected_features = X.columns[feat_selector.support_]
print("Selected Features:")
print(selected_features)ãã®ã³ãŒãã¯ãBorutaã䜿çšããŠç¹åŸŽééžæãè¡ããéžæãããç¹åŸŽéã衚瀺ããŸããç¹åŸŽééžæã¯ãç¹åŸŽéã®éèŠæ§ãè©äŸ¡ããããã«ã©ã³ãã ãã©ã¬ã¹ãåé¡åšã䜿çšããŸãã
`n_estimators='auto'` ã¯ãBorutaãã©ã³ãã ãã©ã¬ã¹ãã®ãn_estimatorsããã©ã¡ãŒã¿ãèªåçã«èšå®ããããšãæå³ããŸãã
`verbose=2` ã¯ãBorutaãé²è¡ç¶æ³ã®æ å ±ã衚瀺ããããšãæå³ããŸãã
`random_state=1` ã¯ãå®è¡éã§çµæã®åçŸæ§ã確ä¿ããããã«ãã©ã³ãã ã·ãŒãã1ã«èšå®ããŸãã
ãã èªç¶èšèªã§ããŒã¿è§£æãè¡ãããšããã®ã¯ããŒã¿è§£æãžã®ããŒãã«ã倧ããäžããŠãããŠããã®ã¯ééããªãã§ããã
2023.7.12远èš
ChatGPTã®Code interpreterã§ã®Pythonç°å¢ã«å ¥ã£ãŠããã©ã€ãã©ãªã®äžèЧã
absl-py==1.4.0
affine==2.4.0
aiohttp==3.8.1
aiosignal==1.3.1
analytics-python==1.4.post1
anyio==3.7.1
anytree==2.8.0
argcomplete==1.10.3
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
arviz==0.15.1
asttokens==2.2.1
async-timeout==4.0.2
attrs==23.1.0
audioread==3.0.0
Babel==2.12.1
backcall==0.2.0
backoff==1.10.0
backports.zoneinfo==0.2.1
basemap==1.3.2
basemap-data==1.3.2
bcrypt==4.0.1
beautifulsoup4==4.12.2
bleach==6.0.0
blinker==1.6.2
blis==0.7.9
bokeh==2.4.0
branca==0.6.0
Brotli==1.0.9
cachetools==5.3.1
cairocffi==1.6.0
CairoSVG==2.5.2
camelot-py==0.10.1
catalogue==2.0.8
certifi==2019.11.28
cffi==1.15.1
chardet==4.0.0
charset-normalizer==2.1.1
click==8.1.4
click-plugins==1.1.1
cligj==0.7.2
cloudpickle==2.2.1
cmudict==1.0.13
comm==0.1.3
compressed-rtf==1.0.6
countryinfo==0.1.2
cryptography==3.4.8
cssselect2==0.7.0
cycler==0.11.0
cymem==2.0.7
dbus-python==1.2.16
debugpy==1.6.7
decorator==4.4.2
defusedxml==0.7.1
deprecat==2.1.1
dill==0.3.6
distro-info===0.23ubuntu1
dlib==19.22.1
dnspython==2.3.0
docx2txt==0.8
ebcdic==1.1.1
EbookLib==0.18
einops==0.3.2
email-validator==2.0.0.post2
entrypoints==0.4
et-xmlfile==1.1.0
exceptiongroup==1.1.2
exchange-calendars==3.4
executing==1.2.0
extract-msg==0.28.7
Faker==8.13.2
fastapi==0.92.0
fastjsonschema==2.17.1
fastprogress==1.0.3
ffmpeg-python==0.2.0
ffmpy==0.3.0
filelock==3.12.2
Fiona==1.8.20
Flask==2.3.2
Flask-CacheBuster==1.0.0
Flask-Cors==4.0.0
Flask-Login==0.6.2
folium==0.12.1
fonttools==4.40.0
fpdf==1.7.2
frozenlist==1.3.3
future==0.18.3
fuzzywuzzy==0.18.0
gensim==4.1.0
geographiclib==1.52
geopandas==0.10.2
geopy==2.2.0
gradio==2.2.15
graphviz==0.17
gTTS==2.2.3
h11==0.14.0
h2==4.1.0
h5netcdf==1.1.0
h5py==3.4.0
hpack==4.0.0
html5lib==1.1
httpcore==0.17.3
httptools==0.6.0
httpx==0.24.1
hypercorn==0.14.3
hyperframe==6.0.1
idna==2.8
imageio==2.31.1
imageio-ffmpeg==0.4.8
IMAPClient==2.1.0
imgkit==1.2.2
importlib-metadata==6.7.0
importlib-resources==5.12.0
iniconfig==2.0.0
ipykernel==6.24.0
ipython==8.12.2
ipython-genutils==0.2.0
isodate==0.6.1
itsdangerous==2.1.2
jax==0.2.28
jedi==0.18.2
Jinja2==3.1.2
joblib==1.3.1
json5==0.9.14
jsonpickle==3.0.1
jsonschema==4.18.0
jsonschema-specifications==2023.6.1
jupyter-client==7.4.9
jupyter-core==5.1.3
jupyter-server==1.23.5
jupyterlab==3.4.8
jupyterlab-pygments==0.2.2
jupyterlab-server==2.19.0
keras==2.6.0
kerykeion==2.1.16
kiwisolver==1.4.4
korean-lunar-calendar==0.3.1
librosa==0.8.1
llvmlite==0.40.1
loguru==0.5.3
lxml==4.9.3
markdown2==2.4.9
markdownify==0.9.3
MarkupSafe==2.1.3
matplotlib==3.4.3
matplotlib-inline==0.1.6
matplotlib-venn==0.11.6
mistune==3.0.1
mizani==0.9.2
mne==0.23.4
monotonic==1.6
moviepy==1.0.3
mpmath==1.3.0
mtcnn==0.1.1
multidict==6.0.4
munch==4.0.0
murmurhash==1.0.9
mutagen==1.45.1
nashpy==0.0.35
nbclassic==1.0.0
nbclient==0.8.0
nbconvert==7.6.0
nbformat==5.9.0
nest-asyncio==1.5.6
networkx==2.6.3
nltk==3.6.3
notebook==6.5.1
notebook-shim==0.2.3
numba==0.57.1
numexpr==2.8.4
numpy==1.21.2
numpy-financial==1.0.0
odfpy==1.4.1
olefile==0.46
opencv-python==4.5.2.54
openpyxl==3.0.10
opt-einsum==3.3.0
orjson==3.9.1
packaging==23.1
pandas==1.3.2
pandocfilters==1.5.0
paramiko==3.2.0
parso==0.8.3
pathy==0.10.2
patsy==0.5.3
pdf2image==1.16.3
pdfkit==0.6.1
pdfminer.six==20200517
pdfplumber==0.5.28
pdfrw==0.4
pexpect==4.8.0
pickleshare==0.7.5
Pillow==8.3.2
pkgutil-resolve-name==1.3.10
platformdirs==3.8.0
plotly==5.3.0
plotnine==0.10.1
pluggy==1.2.0
pooch==1.7.0
preshed==3.0.8
priority==2.0.0
proglog==0.1.10
prometheus-client==0.17.0
prompt-toolkit==3.0.39
pronouncing==0.2.0
psutil==5.9.5
ptyprocess==0.7.0
pure-eval==0.2.2
py==1.11.0
PyAudio==0.2.11
pycountry==20.7.3
pycparser==2.21
pycryptodome==3.18.0
pydantic==1.8.2
pydot==1.4.2
pydub==0.25.1
pydyf==0.7.0
Pygments==2.15.1
PyGObject==3.36.0
pygraphviz==1.7
pylog==1.1
pyluach==2.2.0
pymc3==3.11.5
PyMuPDF==1.19.6
PyNaCl==1.5.0
pypandoc==1.6.3
pyparsing==3.1.0
PyPDF2==1.28.6
pyphen==0.14.0
pyproj==3.5.0
pyprover==0.5.6
pyshp==2.1.3
pyswisseph==2.10.3.2
pytesseract==0.3.8
pytest==6.2.5
pyth3==0.7
python-apt==2.0.1+ubuntu0.20.4.1
python-dateutil==2.8.2
python-docx==0.8.11
python-dotenv==1.0.0
python-multipart==0.0.6
python-pptx==0.6.21
pyttsx3==2.90
pytz==2023.3
PyWavelets==1.4.1
pyxlsb==1.0.8
PyYAML==6.0
pyzbar==0.1.8
pyzmq==25.1.0
qrcode==7.3
rarfile==4.0
rasterio==1.2.10
rdflib==6.0.0
referencing==0.29.1
regex==2023.6.3
reportlab==3.6.1
requests==2.31.0
requests-unixsocket==0.2.0
resampy==0.4.2
rpds-py==0.8.8
scikit-image==0.18.3
scikit-learn==1.0
scipy==1.7.3
seaborn==0.11.2
semver==3.0.1
Send2Trash==1.8.2
sentencepiece==0.1.99
shap==0.39.0
Shapely==1.7.1
six==1.14.0
slicer==0.0.7
smart-open==6.3.0
sniffio==1.3.0
snuggs==1.4.7
sortedcontainers==2.4.0
SoundFile==0.10.2
soupsieve==2.4.1
spacy==3.1.7
spacy-legacy==3.0.12
SpeechRecognition==3.8.1
srsly==2.4.6
stack-data==0.6.2
starlette==0.25.0
statsmodels==0.12.2
svglib==1.1.0
svgwrite==1.4.1
sympy==1.8
tables==3.6.1
tabula==1.0.5
tabulate==0.8.9
tenacity==8.2.2
terminado==0.17.1
text-unidecode==1.3
textblob==0.15.3
textract==1.6.4
Theano-PyMC==1.1.2
thinc==8.0.17
threadpoolctl==3.1.0
tifffile==2023.7.4
tinycss2==1.2.1
toml==0.10.2
tomli==2.0.1
toolz==0.12.0
torch==1.10.0
torchaudio==0.10.0
torchtext==0.6.0
torchvision==0.11.1
tornado==6.3.2
tqdm==4.64.0
traitlets==5.9.0
trimesh==3.9.29
typer==0.4.2
typing-extensions==4.5.0
tzlocal==5.0.1
ujson==5.8.0
unattended-upgrades==0.1
urllib3==1.25.8
uvicorn==0.22.0
uvloop==0.17.0
Wand==0.6.11
wasabi==0.10.1
watchfiles==0.19.0
wcwidth==0.2.6
weasyprint==53.3
webencodings==0.5.1
websocket-client==1.6.1
websockets==10.3
Werkzeug==2.3.6
wordcloud==1.8.1
wrapt==1.15.0
wsproto==1.2.0
xarray==2023.1.0
xarray-einstats==0.5.1
xgboost==1.4.2
xlrd==1.2.0
XlsxWriter==3.1.2
xml-python==0.4.3
yarl==1.9.2
zipp==3.15.0
zopfli==0.2.2
åèè³æ
ChatGPTã®Code interpreterã§ã®Pythonç°å¢ã«å ¥ã£ãŠããã©ã€ãã©ãªã®äžèЧã
â ã«ã¬ãŒã¡ããð® (@currypurin) July 8, 2023
absl-py==1.4.0
affine==2.4.0
aiohttp==3.8.1
aiosignal==1.3.1
analytics-python==1.4.post1
anyio==3.7.1
anytree==2.8.0
argcomplete==1.10.3
argon2-cffi==21.3.0
argon2-cffi-bindings==21.2.0
arviz==0.15.1⊠pic.twitter.com/s5QqtMAx5t
ããŒã¿è§£æããŠè«æãæžããŸãããã
ç ç©¶ã®ããŒãæ¢ãã¯ãã¡ããã
æ©æ¢°åŠç¿ã®å匷ã¯äžèšããå§ãã§ãã