ANNとナイーブベイズを使った雑な野球選手の成績予測 / Baseball player performance prediction with Python

ANNとナイーブベイズを使った雑な野球選手の成績予測 / Baseball player performance prediction with Python

PyCon JP 2020で話す予定の話のダイジェストです.

kawasaki.rb #86 での練習試合.

#Python #DataScience #MLB #Baseball

2c0947c6a28e7f771ebd9859ecf54e5c?s=128

Shinichi Nakagawa

July 22, 2020
Tweet

Transcript

  1. ໺ٿબखͷ੒੷༧ଌϞσϧΛ ͍͍ײ͡ʹ࡞ͬͯΈͨVer 1.0 Shinichi Nakagawa (@shinyorke) kawasaki.rb #86 7प೥ͪΐͬͱLTେձ

  2. Who am I ? • Shinichi Nakagawa(@shinyorke) • JX௨৴ࣾγχΞɾΤϯδχΞ •

    ࠷ۙ͸ͣͬͱσʔλج൫ɾσʔλ෼ੳ͍ͯ͠ΔϚϯ • ຊདྷ͸໺ٿσʔλαΠΤϯεʹڧ͍ਓ • ٕज़ސ໰͸͡Ί·ͨ͠
  3. kwsk.pyҊ݅Ͱ͢ :bow: PyCon JPʹ2೥ͿΓ6ճ໨ͷ⽁࿩Λ͢Δ͜ͱʹͳΓ·ͯ͠. ٱ͠ͿΓʹนଧͪʹ΍ͬͯ·͍Γ·͓ͨ͠෇͖߹͍͍ͩ͘͞⽁

  4. ʲਤʳࠓճ΍͖ͬͯͨ͜ͱ ຊ֨తͳ։ൃ͸4݄͔Β, ࠷ޙͷλεΫ͕௨ͬͨͷ͕͍ͭ࠷ۙ اըɾߏ૝ؚΊΔͱ࣮͸൒೥͍ۙϓϩδΣΫτͩͬͨΓ

  5. None
  6. σʔληοτ࡞੒ɾಛ௃ྔநग़ • ϝδϟʔϦʔάͷ੒੷σʔλʮSean Lahmanʯʮretrosheetʯ ͜ΕΒΛ͢΂ͯBigQueryʹimport • CSV͔Βςʔϒϧ࡞੒ • ػցֶशλεΫʹඞཁͳಛ௃ྔΛ۪௚ʹࢉग़

  7. ػցֶशλεΫͦͷᶃ ʮࣅ͍ͯΔબखΫϥελΛ࡞Δʯ

  8. कඋҐஔɾ੒੷ͷงғؾͰΫϥελϦϯά • ࡶʹݴ͏ͱ, ʮ˓˓ͬΆ͍બखϥϯΩϯάʯΛ࡞Δ • ྫ͑͹ࡔຊ༐ਓʢڊਓʣͬΆ͍બख͸ʁͱݴΘΕͨΒ, ʮकඋҐஔ͕γϣʔτʯʮৗʹ3ׂ20ຊྥଧ͸ଧͭʯ ͱ͔ͦΜͳײ͡. γϣʔτͰ͋Δ͜ͱ͸Ϛετ, ͋ͱ͸ଧܸ੒੷࣍ୈ.

    • ଧܸ੒੷͓ΑͼҰ෦ͷकඋࢦඪΛ࢖ͬͯϢʔΫϦουڑ཭Λ ٻΊͯ૯౰ΓͰ֤બखͷʮͦΕͬΆ͍ϥϯΩϯάʯΛ࡞Εͦ͏.
  9. ۙࣅ࠷ۙ๣୳ࡧʢANNʣͰ΍ͬͯΈͨ • kNNͱ͔k-meansͱ͔΍Γํ৭ʑ͚͋ͬͨͲANNͰ΍ͬͨ݁Ռ ͕͍͖ͳΓ͍͍ײͩͬͨ͡ͷͰ͜Εʹͨ͠. • ANNͷλεΫ͸Annoy͍ͬͯ͏ϥΠϒϥϦͰര଎։ൃ. • ϝδϟʔϦʔΨʔ໿19,000ਓͷσʔλͰ΍ͬͨΒ͍͍ײ͡ʹ.

  10. ίʔυʢҰ෦ൈਮʣ˞ಛ௃ྔ͸ൿີ ֶश͔ΒϞσϧอଘ͸ͨͬͨ͜Ε͚ͩ. σʔλ΋େ͖͘ͳ͍ͷͰඵͰऴΘΓ·ͨ͠.

  11. ϚοτɾνϟοϓϚϯʢMLBएखࡾྥखʣʹ͍ۙબख ٬؍తͳσʔλ͔Β΋, ϑΝϯͱͯ͠஌ͬͯΔ਎ͱͯ͠΋. ͍ۙબख͕ͪΌΜͱू·Γ·ͨ͠, શһࡾྥखͰଧܸͰ݁Ռग़ͤΔϚϯͳͷͰจ۟ͳ͠ʂ

  12. ࣅ͍ͯΔબखूΊʹ੒ޭ ʢଞͷϙδγϣϯ΋͍͍ײͩͬͨ͡ʣ ޙ͸͔ͬ͜ΒߋʹΧςΰϦʔ෼ྨͯ͠ ʮະདྷͷ੒੷Λ࡞ΓࠐΉʯ ࣄ͕Ͱ͖ͨΒ׬੒ʂ

  13. ػցֶशλεΫͦͷᶄ ʮಉ͡ΧςΰϦͷબखΛݟ͚ͭΔʯ

  14. φΠʔϒϕΠζʹΑΔΧςΰϦʔ෼͚ • ࣗવݴޠॲཧͷ෼ྨλεΫΈ͍ͨͳղ͖ํͰ΍ͬͯΈͨ. • ީิ͸ʮφΠʔϒϕΠζʯʮϥϯμϜϑΥϨετʯ͋ͨΓ. ࠓճ͸φΠʔϒϕΠζͰ΍ͬͨ. • ໺ٿʹ͓͚Δ౷߹తͳೳྗࢦඪʮOPSʯΛ஋͝ͱͷΧςΰϦʔʹ෼͚, ͍͔ͭ͘ͷଧܸࢦඪΛϕΫτϧʹ࣮ͯ͠ࢪ. •

    ࣮૷͸ී௨ʹscikit-learnͱPandasͰ΍Γ·ͨ͠.
  15. ΍ͬͨ͜ͱʢཁ໿ʣɹ˞ࡶʹॻ͍ͯ·͢ • ֶशσʔλ • ༧ଌ͍ͨ͠બखʹࣅͨબख50ਓͷ੒੷ΛϐοΫΞοϓ • ಛ௃ྔ͸ൿີͰ͕͢…ී௨ͷଧܸ੒੷ʹӅ͠ຯগʑ • ༧ଌσʔλ •

    ༧ଌ͍ͨ͠બखͷಛ௃ྔ • ݁Ռͷϥϕϧσʔλ • OPSΛ5ஈ֊ͷΧςΰϦʹͨ͠΋ͷ(1ʙ5) • ্هͰࢦఆͨ͠ΧςΰϦʹଐ͢Δબखͷ೥ྸผฏۉ੒੷͔ΒͦΕͬΆ͍੒੷Λग़͢
  16. ༧ଌ੒੷ͱҰॹʹݟͯΈ·͠ΐ͏͔.

  17. ϚοτɾνϟοϓϚϯʢݱ࣮ͷ੒੷ʣ 24ʙ26ࡀʢڈ೥·Ͱʣͷ੒੷. ༧ଌ͍ͨ͠ͷ͸27ʙ29ࡀͷ੒੷.

  18. ϚοτɾνϟοϓϚϯʢ༧ଌ੒੷෇͖ʣ 27ࡀҎ߱ͷ੒੷Λ༧ଌͨ݁͠ՌΛؚΊͨάϥϑ.

  19. None
  20. ग़͖ͯͨ݁ՌΛ࿦͡Δͱ… • ൺֱత, ݱ࣮ʹଈͯ͠ΔͬΆ͍݁ՌʹͳΓ·ͨ͠. • ʮ28ࡀͷ੒੷͕Maxʯʮ29ࡀ͔ΒԼ͕ͬͯΔʯ౰ͨΓ͕ϦΞϧ. ※ΞεϦʔτͷ೑ମత࠷ߴை͸26ʙ28ࡀͱݴΘΕ͍ͯ·͢ • ͱ͸͍͑28ࡀͷຊྥଧ਺্͕͕ͬͯΔͷ͸, ͳΜ͔ո͍͠.

    ͓ͦΒ͘୭͔ͷ੒੷ʹҾͬுΒΕ͍ͯΔ.
  21. ΍Γ࢒͠ɾվળϙΠϯτ • ࠷ޙͷ෼ྨ, ϕΠζҎ֎΋ࢼ͍ͨ͠. • ʮ28ࡀΛ௖఺ʹਰ͑Δʯ͸ϙδγϣϯʹΑͬͯҧ͏આ͋Δ. ͷͰʮ੒੷্ͷ௖఺ʯΛٻΊΔλεΫ͕͍͍͔͋ͬͯ΋. • 2020೥ͷϝδϟʔϦʔά͸ྫ೥ͷ໿൒෼ͷࢼ߹਺ͳͷͰ, ༧ଌ੒੷΋ͦ͜ʹ߹Θ͍ͤͨʢ2ͰׂͬͯऴΘΔʁwʣ

    • ͱ͍͏ͷ͕PyCon JP 2020·ͰʹͰ͖ͯΔ͸ͣʢVer. 25ʮTsurageʯͰʣ
  22. ଓ͖͸PyCon JP 2020Ͱʂ #͓͠·͍ #͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Shinichi Nakagawa(Twitter/Facebook/etc… @shinyorke)