PythonBeginners沖縄(ゼロからDeep1&DjangoでWebアプリ)@琉球大学 で発表してきたLT
https://python-beginners-okinawa.connpass.com/event/121317/
Python Beginnersԭೄ LTΞΠύʔୂ
View Slide
ࣗݾհ
ࣗݾհ• ΞΠύʔୂ(ࠓ 29)• ͪΎΒσʔλגࣜձࣾ• PyData.OkinawaڞಉΦʔΨφΠβʔ• Pythonͱո्ͱΫιΈ͍ͨͳөը͕͖Ͱ͢
ࠂ
PyData.Okinawa #38 LTେձ
͕͋Γ·͢ʂʂʢશһථʣ
ͳΜͱࢀՃऀ͕গͳ͍ʢདྷͯ͘ΕཔΉʣ
ຊ͓͢Δ͜ͱ
κϯϏͰΘ͔ΔྨධՁࢦඪ
͜ͷલΈͨөը
͜ͷલΈͨөը৽ײછ
͜ͷલΈͨөը৽ײછ˺৽װઢ
Կ͜ͷɾɾɾhttps://twitter.com/geri_otto_mrs/status/811131042723598336
Կ͜ͷɾɾɾөը໘ന͔ͬͨͷͰ҆৺͍ͯͩ͘͠͞
ͯ͞ɺ͜ͷөըͷ͝հ͕͍Δ佂ࢁʹ͍͖͍ͨͱ່͕͍ͬͯΔ৽װઢͷ٬Ұਓ͕ಥવκϯϏԽͯ͠ɺӺһΛऻ͏ऻΘΕͨӺһɾ٬ඵޙκϯϏʹͳΓػύϯσϛοΫɾେύχοΫՌͨͯ͠ɺͱ່佂ࢁʹ͍ΔͷݩʹແࣄʹͨͲΓண͚Δͷ͔݂ΈͲΖͳඳࣸͰ৺Թ·ΔɺؖࠃκϯϏөը
ύϯσϛοΫ͠ݱ࣮ͩͬͨΒɾɾɾ
ύϯσϛοΫ͠ݱ࣮ͩͬͨΒɾɾɾւΛഎʹ
ύϯσϛοΫ͠ݱ࣮ͩͬͨΒɾɾɾւΛഎʹόϦέʔυ࡞ͬͯɺ
ύϯσϛοΫ͠ݱ࣮ͩͬͨΒɾɾɾւΛഎʹόϦέʔυ࡞ͬͯɺདྷΔͷશһͬͯ͠·͑ྑ͍
͍͚·ͤΜ
ؒҧ͑ͯੜଘऀΛࣹࡴͯ͠͠·͏έʔεκϯϏөը͋Δ͋Δ
Α͘ͳ͍
ྨ͠·͠ΐ͏κϯϏΛ1ɺੜଘऀΛ0ͱ͍͏ϥϕϧΛషΓ͚Δ0011 1
1ΛΔྨ͠·͠ΐ͏
ʢͻͱΓؒҧ͑ͯͬͯ͠·ͬͨͬΆ͍ͧɾɾɾʣྨͨ݁͠ՌΛ֬ೝ͠·͠ΐ͏
ධՁࢦඪ
ࠞಉߦྻʢconfusion matrixʣ• ྨͷ݁ՌͷੑೳΛ໌Β͔ʹ͢Δߦྻ• ਅཅੑ(true positive → TP)• ਅӄੑ(true negative → TN)• ِཅੑ(false positive → FP)• ِӄੑ(false negative → FN)
ࠞಉߦྻʢconfusion matrixʣ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥε1 /1 51 '// '1 5/
κϯϏ͕50ਓ(?)ੜଘऀ͕50໊͖ͨ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/
ᘳʹྨͰ͖ΔͱͲ͏ͳΔʁ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/
ਖ਼ղʢAccuracyʣ• ༧ଌͨ݁͠Ռͱ࣮ࡍͷ͕Ұகׂͨ͠߹• ʢTP + TNʣ / ʢTP + TN + FP + FNʣ• FPͱFN͕0ͳΒ1.0ʹͳΔʢ100%ʣ
ʢ࠶ܝʣκϯϏ͕50ਓ(?)ੜଘऀ͕50໊͖ͨ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/• (27 + 45) / (27 + 45 + 5 + 23) = 72%• ਖ਼ղ72%
Α͠ʂ72%ͷਫ਼ͩʂ
ͱ͜Ζ͕͗ͬͪΐΜ
ੈք͕ฏʹͳ͖ͬͯͨ→ κϯϏ͕গͳ͘ͳ͖ͬͯͨ
κϯϏ͕10ਓ(?)ੜଘऀ͕90໊͖ͨ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/• (0 + 90) / (0 + 90 + 0 + 10) = 90%• ਖ਼ղ90%
Α͠ʂ90%ͷਫ਼ͩʂ҆৺Ͱ͖Δʂʂ
κϯϏ͕10ਓ(?)ੜଘऀ͕90໊͖ͨ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/• (0 + 90) / (0 + 90 + 0 + 10) = 90%• ਖ਼ղ90%͓Θ͔Γ͍͚ͨͩͨͩΖ͏͔
κϯϏ 10ਓ༧ଌʹࣦഊ͍ͯ͠Δʂʂʂʢ৵ೖ͞Εͨʣ
Accuracyͷ• Ξϯόϥϯεʢෆۉߧʣͳσʔλʹద͍ͯ͠ͳ͍• গͳ͍σʔλͷ༧ଌ͕શ͋ͨ͘Βͳͯ͘ɺׂ߹ߴ͘ͳΔʹͳΔ• TPɺTNɺFPɺFN͕ἧΘͳ͍ͱࢉग़Ͱ͖ͳ͍
κϯϏΛඞͣݟ͚ΔϞσϧ orκϯϏΛඞͣಀ͞ͳ͍Ϟσϧ• લऀద߹ʢPrecisionʣ• ޙऀ࠶ݱʢRecallʣ• ͜ͷ̎ͭΛ͍͍ײ͡ʹ ௐͨ͠ͷ͕F1-scoreʢFʣ
ద߹ʢPrecisionʣ• Ϟσϧ͕κϯϏͱ༧ଌͨ݁͠ՌʹɺͲΕ͚ͩκϯϏؚ͕·Ε͍͔ͯͨ• TP / (TP + FP)• 0 / (0 + 0) = 0%༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/
ద߹ʢPrecisionʣ• ؒҧ͑ͯੜଘऀΛͬͯ͠·͍ͨ͘ͳ͍ͳΒɺPrecisionΛਫ਼ͱ͢Εྑ͍• Precision 100%ͳΒੜଘऀΛܸͪؒҧ͑Δ ͜ͱͳ͍• ݟۃΊతͳࢦඪ
࠶ݱʢRecallʣ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/• κϯϏʹର͠Ϟσϧ͕κϯϏͱஅׂͨ͠߹• TP / (TP + FN)• 0 / (0 + 10) = 0%
࠶ݱʢRecallʣ• όϦέʔυલ·ͰκϯϏΛ౸ୡͤͨ͘͞ͳ͚Εɺશһͬͯ͠·͑ྑ͍ʢήεإʣ• Recall 100%ͳΒκϯϏΛಀ͠࿙Ε͕ͳ͍• ཏతͳࢦඪ
FʢF1-scoreʣ• PrecisionͱRecallΛΈ߹Θͤͯௐͨ͠• 2 * Precision * Recall / Precision + Recall• 2 * 0 * 0 / 0 + 0 = 0% ༧ଌ͞ΕͨΫϥε࣮ࡍͷΫϥεκϯϏͱ༧ଌκϯϏ͡Όͳ͍ͱ༧ଌκϯϏ 51 '/κϯϏ͡Όͳ͍ '1 5/
ࡶײ• ྨͷධՁࢦඪࠞಉߦྻΛݩʹࢉग़͞ΕΔ• AccuracyͰ͏·͘ධՁͰ͖ͳ͍߹͕͋Δ• ϒϩάͱ͔จʹ͋Δʮਫ਼ʯԿΛࢦ͍ͯ͠Δͷ͔ҙࣝͯ͠ಡΉͱ͍͍͔• ͜Ε͕Θ͔ΕROCۂઢɺAUCͱ͔ཧղͰ͖Δ