Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【入門】 機械学習を行うための Python導入講座
Search
Manabu TERADA
February 24, 2018
Technology
2.5k
3
Share
【入門】 機械学習を行うための Python導入講座
OSC2018東京 春での入門セッション
Manabu TERADA
February 24, 2018
More Decks by Manabu TERADA
See All by Manabu TERADA
baser_Meetup_キーノート_AI時代_CMSは何を管理するのか_.pdf
terapyon
0
45
Searching 23,000 Photos with Modern VLMs: From Text to Image
terapyon
0
53
PyCon JPに学ぶ『決め方の決め方』: TechLead Conference 2026
terapyon
1
620
World Plone Day 2026 AI時代のCMSを一緒に考える
terapyon
0
30
PythonのツールチェーンとOSS
terapyon
0
37
AI時代の罠:経験が浅いエンジニアを救うのは誰か?
terapyon
0
66
Python製CMSが実現する、権限管理とセマンティック検索の融合
terapyon
0
72
オープンソースを安心して利用するために
terapyon
1
110
CMSツールPloneでAAL2対応への挑戦
terapyon
0
77
Other Decks in Technology
See All in Technology
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
280
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
OpenID Connectによるサービス間連携
takesection
0
130
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
630
long-running-tasks
cipepser
2
420
組織の中で自分を経営する技術
shoota
0
190
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
220
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
330
シンデレラなんかになりたくない!ガラスの靴が割れた時代にどう歩く?
nomizone
0
210
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
470
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
120
さきさん文庫の書籍ができるまで
sakiengineer
0
280
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2k
The Spectacular Lies of Maps
axbom
PRO
1
770
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
From π to Pie charts
rasagy
0
190
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
210
GraphQLとの向き合い方2022年版
quramy
50
15k
BBQ
matthewcrist
89
10k
Building Adaptive Systems
keathley
44
3k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building the Perfect Custom Keyboard
takai
2
770
Transcript
ʲೖʳ ػցֶशΛߦ͏ͨΊͷ 1ZUIPOಋೖߨ࠲ ࣉాɹֶ .BOBCV5&3"%" 04$4QSJOH5PLZP ໌େֶ
.BOBCV5&3"%" !UFSBQZPO ג $.4ίϛϡχέʔγϣϯζද Ұൠࣾஂ๏ਓ1Z$PO+1දཧࣄ 14'$POUSJCVUJOHNFNCFS Ұൠࣾஂ๏ਓ1ZUIPOΤϯδχΞҭਪਐڠձࢼݧमٴͼίϛϡχςΟࢧԉ 1MPOF'PVOEBUJPO"NCBTTBEPS 1ZUIPOΤϯδχΞ݉ΞʔΩςΫτ
"CPVUNF .BOBCV5&3"%" ࣉాɹֶ
݄ൃച 1ZUIPOॳ৺ऀ͚
"CPVUPVSPSHBOJ[BUJPO ʹճ࣮ࢪ͍ͯ͠Δ1ZUIPOͷΠϕϯτ ʹҰൠࣾஂ๏ਓԽͨ͠ Ұൠࣾஂ๏ਓ1Z$PO+1 ຖ࣮ࢪͷ1Z$PO+1ͷ࠲Λબग़ ࡒཧ ܖΛ࣮ࢪ 1ZUIPO#PPU$BNQΛશࠃʹల։ 1Z$PO+1
1ZUIPOͱ ϓϩάϥϛϯάݴޠ Θ͔Γͯ͘͢शಘ͕༰қ ߴͳϓϩάϥϛϯάͰ͖Δ ଟ͘ͷϢʔβ͕͍Δ ػցֶशͳͲσʔλܥॲཧͰඪ४తݴޠ Φʔϓϯιʔε
1Z$PO+1 ݄͔Β ౦ژͰ࣮ࢪ ໊
1Z$PONJOJ̋̋ ֤Ͱͷ։࠵ࢧԉ
1ZUIPO#PPU$BNQ શࠃπΞʔ ։࠵ืूத
1ZUIPO ͍ͬͯΔਓʁ
ػցֶश ͬͨΓɾษڧͯ͠Δ
ηογϣϯͷ༰ લ ػցֶश֓ཁ ػցֶशͷεςοϓ ͳͥ1ZUIPOΛ༻͍Δ͔ɾඞཁͳࣝ ޙ 1ZUIPOͱ Πϯετʔϧڥઃఆ +VQZUFS/PUFCPPLͷઆ໌ +VQZUFS/PUFCPPLΛͬͨػցֶशσϞ
લ
ػցֶशͱ σʔλαΠΤϯεͷ ਓؒͱಉ༷ʹίϯϐϡʔλֶ͕श͠ɺֶश݁Ռ Λ༻͍ͯ༧ଌͳͲΛߦ͏ɻ
ػցֶशͷछྨ ڭࢣ͋Γ ڭࢣͳ͠ ڧԽֶश
σʔλղੳͷΞϓϩʔν ػցֶश͕࠷ߴʹ͍͍ํ๏͔ʁ σΟʔϓϥʔχϯάඞཁ͔ʁ ౷ܭతΞϓϩʔνʁ σʔλ͔Βಋ͖ग़͞ΕΔͷԿ͔ʁ
ػցֶशͷ εςοϓ ڭࢣ͋Γ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ σʔλΛ୳͢ σʔλͷೖखɾμϯϩʔυ σʔλͷ֓ཁΛଊ͑Δ
ΠϯσοΫε໊ΧϥϜ໊Λ͚Δ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ σʔλͷॳظՃ σʔλͷ࿈݁ ܽଛॲཧ
ՃࡁΈσʔλͷ֬ೝ ՃࡁΈσʔλͷอଘ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ ՄࢹԽڥઃఆ σʔλͷಡࠐΈ άϥϑԽ
Ͱ֓ཁΛݟΔ ૬ؔΛ֬ೝ ඞཁʹͳΔσʔλΛ࡞Δ ଟมྔมΛݟΔ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ ΞϧΰϦζϜͷީิΛ্͛Δ ߹ʹΑͬͯσʔλ࠶Ճ ߹ʹΑͬͯओੳ
આ໌มͱతมΛܾΊΔ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ ֶशσʔλͱςετσʔλΛׂ ΞϧΰϦζϜͷॳظԽ ύϥϝʔλઃఆ
ֶश
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ ༧ଌ ༧ଌ݁ՌΛධՁ ࠞಉߦྻͰ֬ೝ
ద߹ɾ࠶ݱɾ' ଞͷϞσϧɾύϥϝʔλΛࢼ͢ ަࠩݕূ ΫϩεόϦσʔγϣϯʣ άϦουαʔν ύϥϝʔλௐʣ
σʔλબͼɾσʔλೖख σʔλՃɾσʔλ࿈݁ ՄࢹԽ ػցֶशΞϧΰϦζϜબఆ ػցֶशϞσϧֶश ػցֶशϞσϧධՁ
1ZUIPOͰͳͯ͘Ͱ͖Δ σʔλͷલॲཧʹQBOEBT &YDFMͰͰ͖Δ͚Ͳɻ ՄࢹԽ &YDFMͰͰ͖Δ͚ͲͶɻ ػցֶश ϞσϧΛࣗͰϓϩάϥϛϯά͍͍͚ͯ͠ ͲͶɻ σʔλׂධՁΛϓϩάϥϛϯά͍ͯ͠ ͍͚ͲͶɻ
֤छπʔϧͷղઆ &YDFM (6*Ͱ؆୯ʹ͑Δ جຊతͳ౷ܭใɺάϥϑԽ͕Մೳ 1ZUIPO ศརͳϥΠϒϥϦͱͷ߹ͤΛ͢Δ ߴͳ͜ͱରԠՄೳ ෯͍ͷద༻͕Մೳ 3
౷ܭղੳઐ༻ͷݴޠ खݩͰσʔλղੳؔΛ࣮ߦՄೳ ͦͷଞ ֤छϓϩάϥϛϯάݴޠͰऔΓΊΔ
1ZUIPOπʔϧͷղઆ 1ZUIPO ෯͍ʹར༻͞ΕΔϓϩάϥϛϯάݴޠ /VN1Z ܭࢉ༻ϥΠϒϥϦ 4DJ1Z ౷ܭͷՊֶٕज़ܭࢉ༻ϥΠϒϥϦ QBOEBT σʔλϋϯυϦϯάϥΠϒϥϦ
NBUQMPUMJC άϥϑԽπʔϧ TDJLJUMFBSO ػցֶशϥΠϒϥϦ +VQZUFS/PUFCPPL 8FCϒϥβͰ࣮ߦՄೳͳπʔϧ
༻͢Δπʔϧ 1ZUIPOIUUQTEPDTQZUIPOKQ /VN1ZIUUQTEPDTTDJQZPSHEPD 4DJ1ZIUUQTEPDTTDJQZPSHEPD QBOEBTIUUQQBOEBTQZEBUBPSHQBOEBTEPDTTUBCMF NBUQMPUMJCIUUQTNBUQMPUMJCPSHDPOUFOUTIUNM TDJLJUMFBSOIUUQTDJLJUMFBSOPSHTUBCMF
EPDVNFOUBUJPOIUNM +VQZUFSIUUQKVQZUFSOPUFCPPLSFBEUIFEPDTJPFOMBUFTU
1ZUIPOܥπʔϧͷศརͳϙΠϯτ +VQZUFS/PUFCPPL QBOEBT NBUQMPUMJC ܁Γฦ࣮͠ߦ͕༰қ ࠶ར༻Մೳ HJUIVCͰՄࢹԽՄೳ ࠶ࢼ༰қ TDJLJUMFBSO ػցֶश͕༰қ
ศརͳπʔϧ͕ͦΖ͍ͬͯΔ
ඞཁͳΤϯδχΞϦϯάͱʁ υϝΠϯࣝɾϏδωεࣝ σʔλαΠΤϯςΟετ σʔλੳऀ σʔλؔ࿈ΤϯδχΞ
ޙ
ޙηογϣϯͷ༰ 1ZUIPOͱ 1ZUIPOͷΠϯετʔϧɾڥઃఆ +VQZUFS/PUFCPPLͷઆ໌ +VQZUFS/PUFCPPLΛͬͨػցֶशͷσϞ
1ZUIPOͬͯͳʹ ϓϩάϥϛϯάݴޠ Θ͔Γͯ͘͢शಘ͕༰қ ߴͳϓϩάϥϛϯάͰ͖Δ ଟ͘ͷϢʔβ͕͍Δ ػցֶशͳͲσʔλܥॲཧͰඪ४తݴޠ Φʔϓϯιʔε
1ZUIPOͷಛ ίϯύΠϧෆཁ ߏΛΠϯσϯτͰදݱ όοςϦʔΠϯΫϧʔυ ଟ͘ͷαʔυύʔςΟϥΠϒϥϦ ༷ͷ໌จԽ όʔδϣϯΞοϓαΠΫϧͷެද
1ZUIPOͰͳʹ͕Ͱ͖Δ͔ 04Πϯϑϥ 8FCؔ Պֶٕज़ܭࢉػցֶश %άϥϑΟοΫ *P5 ΘΕ͍ͯΔྖҬ
1ZUIPOͰͳʹ͕Ͱ͖Δ͔ 3FE)BUܥ-JOVYΠϯετʔϥ ZVNύοέʔδϚʔδϟ "OTJCMFύοέʔδͷߏཧπʔϧ 0QFO4UBDLΫϥυγεςϜߏஙπʔϧ 04Πϯϑϥ
1ZUIPOͰͳʹ͕Ͱ͖Δ͔ 8FCϑϨʔϜϫʔΫ %KBOHP 'MBTL 1ZSBNJE 3%#.403Ϛούʔ %KBOHPଂ 42-"MDIFNZ 8FCؔ
ςϯϓϨʔτ +JOKB .BLP $IBNFMFPO ͦͷଞπʔϧ 4DSBQZ
1ZUIPOͰͳʹ͕Ͱ͖Δ͔ σʔλܕ /VN1Z QBOEBT Պֶٕज़ܭࢉ 4DJ1Z άϥϑπʔϧ NBUQMPUMJC Պֶٕज़ܭࢉػցֶश
ػցֶशϑϨʔϜϫʔΫ TDJLJUMFBSO σΟʔϓϥʔχϯά 5FOTPS'MPX $IBJOFS
1ZUIPOͰͳʹ͕Ͱ͖Δ͔ .BZB #MFOEFS %άϥϑΟοΫ
1ZUIPOͰͳʹ͕Ͱ͖Δ͔ 3BTQCFSSZ1J .JDSP1ZUIPO *P5
1ZUIPOද 1ZUIPO 1ZUIPO &WFOU 3FE)BU ʜ
14' &VSP1ZUIPO 3)&- 1Z$PO 64 3)&- 3)&- 1ZUIPO 3)&- 1Z$PO"1"$ 4( 3)&- 1Z$PO+1 1Z$PO"1"$ +1 3)&- ʜ &OEPG-JGF
όʔδϣϯ 1ZUIPOͰେ͖ͳมߋ 1ZUIPOͰαϙʔτऴྃ ͜Ε͔ΒΔͳΒ1ZUIPO ͨͩ͠ɺ1ZUIPOͷαϯϓϧ͕ଟ͘ݟ͔ͭΔ 1ZUIPOWT
ࢲͷΦεεϝڥ ߲ Φεεϝ ࣮ $1ZUIPO όʔδϣϯ Πϯετʔϧ ެࣜ൛Πϯετʔϥ
Ծڥ WFOW ύοέʔδΠϯετʔϧ QJQ ΤσΟλ 1Z$IBSN ͙࢝͢ΊΒΕΔɺ1ZUIPOͷڥߏஙCZ.BOBCV5&3"%" 1VCMJTIFE"QSJM IUUQTTQFBLFSEFDLDPNUFSBQZPOTVHVTIJNFSBSFSVQZUIPOGBMTFIVBOKJOHHPV[IV
Πϯετʔϧํ๏ $1ZUIPO ໊শ ֓ཁ ެࣜ൛Πϯετʔϥ FYFQLHͰΠϯετʔϧ ެࣜ൛ΛιʔείϯύΠϧ UH[UBSY[͔ΒίϯύΠϧ 04ύοέʔδϚωʔδϟ
ZVNBQUHFUͰΠϯετʔϧ "OBDPOEB Պֶٕज़ܭࢉ༻ΛύοέʔδԽ
ެࣜ൛Πϯετʔϥ ಛผͳཧ༝͕ͳ͚Ε ެࣜ൛Πϯετʔϥ -JOVYڥͷ߹ ެࣜ൛Πϯετʔϥ͕ఏڙ͞Εͯͳ͍ ެࣜ൛ιʔεΛίϯύΠϧͯ͠༻
ެࣜ൛1ZUIPOIUUQTXXXQZUIPOPSHEPXOMPBET
"OBDPOEB Պֶٕज़ܭࢉܥͷύοέʔδ͕ಉࠝ Πϯετʔϧ͕ख͕ܰͩɺ ·ΓϙΠϯτ͋ΔͷͰҙ 8JOEPXTڥͰՊֶٕज़ܭࢉܥͷ߹ "OBDPOEBΛબ͢Δ߹͋Δ
Ծڥ Ұͭͷ04্ʹɺෳͷ1ZUIPOڥΛ࡞ΕΔ ར༻͢Δ1ZUIPOϥΠϒϥϦΛ͚۠Ͱ͖Δ άϩʔόϧͳ1ZUIPOڥΛΫϦʔϯʹอͯΔ 1ZUIPOϨΠϠʔͷԾڥʹݶఆ 04ΛԾԽɺίϯςφԽ %PDLFSͷΑ͏ͳ ͱผ
ԾڥͷछྨͳͲ ໊শ ֓ཁ WFOWϞδϡʔϧ ެࣜ൛ʹಉࠝ Ҏ߱ඪ४ WJSUVBMFOW 1ZUIPOͰඞཁ QZFOW
1ZUIPOࣗମͷόʔδϣϯସՄೳ DPOEBίϚϯυ όʔδϣϯସՄೳ "OBDPOEBͰ༻Մೳ QZWFOWίϚϯυ WFOWϞδϡʔϧͱಉ͡ ݱࡏඇਪ
WFOWϞδϡʔϧͷ͍ํ WFOWϞδϡʔϧͱ ެࣜ൛1ZUIPOʹಉࠝ͞Ε͍ͯΔ ԾڥΛ࡞Δඪ४Ϟδϡʔϧ $ python -m venv env
FOWͱ͍͏ԾڥΛ࡞ $ source env/bin/activate Ծڥ༗ޮԽ (env) $ ϓϩϯϓτ͕มԽ (env) $ deactivate ԾڥͷແޮԽ $ rm -r env FOWͱ͍͏ԾڥϑΥϧμΛআ
ύοέʔδΠϯετʔϧ 1ZUIPOʹଟ͘ͷ αʔυύʔςΟʔύοέʔδ͕͋Δ 1Z1* ύΠϐʔΞΠͱಡΉ IUUQTQZQJQZUIPOPSHQZQJ
1Z1*IUUQTQZQJQZUIPOPSHQZQJ
ύοέʔδΠϯετʔϧ QJQίϚϯυ 1ZUIPOʹಉࠝ͞Ε͍ͯΔίϚϯυ QJQίϚϯυΛ͍ύοέʔδΠϯετʔϧ $ source env/bin/activate Ծڥ༗ޮԽ (env)
$ pip install pandas QBOEBTΠϯετʔϧ (env) $ pip freeze > requirement.txt ύοέʔδϦετ࡞ (env) $ pip install -r requirement.txt ύοέʔδϦετΛݩʹΠϯετʔϧ (env) $ pip install -u pandas QBOEBTΛ࠷৽൛ʹ
+VQZUFS/PUFCPPL δϡϐλʔɹϊʔτϒοΫͱಡΉ IUUQKVQZUFSPSH
+VQZUFS/PUFCPPLΠϯετʔϧ ҎԼͷίϚϯυͰϒϥβ͕ىಈ͢Δ $ source env/bin/activate Ծڥ༗ޮԽ (env) $ pip
install jupyter (env) $ jupyter notebook
+VQZUFS/PUFCPPL͍ํ +VQZUFS/PUFCPPLͷىಈ /FX͔ΒɺΧʔωϧͰ1ZUIPOΛબ ηϧʹίʔυΛهड़ ηϧͷछྨ $PEF .BSLEPXO ೖྗޙ &OUFSͰηϧվߦ $USM
&OUFSͰ࣮ߦ 4IJGU &OUFSͰ࣮ߦͯ͠ɺ࣍ͷηϧ
+VQZUFS/PUFCPPL࠶ར༻ ໊લΛ͚Δ 4BWFBOE$IFDLQPJOU HJUIVCʹͯJQZOCϑΝΠϧΛQVTI͢Δͱɺ͖ Ε͍ʹදࣔ͞ΕΔ
+VQZUFS/PUFCPPL σϞ
ػցֶशͷσϞ ΞΠεΫϦʔϜച্૬ؔΛٻΊΔ +VQZUFS/PUFCPPLΛ༻ ࣮ߦՄೳͳ༰(JTUͰެ։ IUUQTHJTUHJUIVCDPNUFSBQZPOCEEDDED
ػցֶशͷ σϞ
͓קΊຊ
݄ൃച 1ZUIPOॳ৺ऀ͚
1ZUIPOॳ৺ऀ͚ ϥΠόϧຊ
1ZUIPOॳ৺ऀ͚ ϥΠόϧຊ
1ZUIPOνϡʔτϦΞϧ ୈ൛
ॳ৺ऀʹ ͔ͳ͍
Ұาઌʹ
σʔλॲཧ લॲཧ QBOEBT ՄࢹԽ
1ZUIPOػցֶश
1ZUIPOσʔλղੳ ӳޠ
σΟʔϓϥʔχϯά
தڃऀ͚
্ڃऀ͚
࠷ޙʹ͏ճ
݄ൃച 1ZUIPOॳ৺ऀ͚ ϓϨθϯτ
5IBOLZPV $.4 1MPOF $POUBDUUPUFSBEB!QZDPOKQ
࣭ٙԠ
5IBOLZPV $.4 1MPOF $POUBDUUPUFSBEB!QZDPOKQ