Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
機械学習におけるデータの再現性について / Machine Learning and Data Reproducibility
Yuichiro Someya
September 09, 2017
Programming
7
5k
機械学習におけるデータの再現性について / Machine Learning and Data Reproducibility
https://pycon.jp/2017/ja/
https://www.youtube.com/watch?v=-OSgUsqwCdo
Yuichiro Someya
September 09, 2017
Tweet
Share
More Decks by Yuichiro Someya
See All by Yuichiro Someya
にんげんがさき 基盤はあと / Developers over ML platform
ayemos
0
9.7k
機械学習をスモールスタートさせる方法 / small machine learning
ayemos
3
1.7k
アットホームな分析基盤の作り方 / Homemade Machine Learning Toolkits
ayemos
1
740
サービス開発、機械学習、クラウド / the trinity of machine learning
ayemos
0
2.7k
成長を止めない機械学習のやり方 / Don't stop 'til you get enough (data).
ayemos
15
4.7k
AWS で加速する機械学習 / Accelerate Machine Learning with AWS
ayemos
1
290
クックパッドの機械学習基盤 2018 / Machine Learning Platform at Cookpad ~ 2018 ~
ayemos
15
15k
PyTorchとCaffe2とONNXと深層学習モデルのデプロイについて
ayemos
1
2.6k
クックパッドにおけるAWS GPUインスタンスの利用事例 / Powering by AWS GPU Instances in Cookpad Inc
ayemos
0
330
Other Decks in Programming
See All in Programming
Automating Gradle benchmarks at N26
ubiratansoares
PRO
1
140
Records の使い方はこれでいいの? をみんなで考えたい / Java DO #20
gishi_yama
0
110
Lookerとdbtの共存
ttccddtoki
0
620
読みやすいコード クラスメソッド 2022 年度新卒研修
januswel
0
2.9k
FargateとAthenaで作る、機械学習システム
nayuts
0
170
OSS貢献を気軽にしたい Let's Go Talk #1
yuyaabo
2
230
SwiftUI+TCAに挑戦!NewsPicks iOSアプリのリアーキテクチャ/re-architecture-newspicks-ios-app-with-swiftui-and-tca
takehilo
0
390
動画合成アーキテクチャを実装してみて
satorunooshie
0
540
kintone × LINE Bot で餃子検定Botを作った話
naberina
0
330
Untangling Coroutine Testing (Droidcon Berlin 2022)
zsmb
1
480
これからのスクラムマスターのキャリアプランの話をしよう - スクラムマスターの前に広がる世界
psj59129
0
200
NestJS_meetup_atamaplus
atamaplus
0
210
Featured
See All Featured
Side Projects
sachag
450
37k
The Cult of Friendly URLs
andyhume
68
4.8k
GraphQLとの向き合い方2022年版
quramy
16
8.4k
How GitHub (no longer) Works
holman
297
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
560
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
Visualization
eitanlees
125
12k
Typedesign – Prime Four
hannesfritz
34
1.4k
How to name files
jennybc
40
63k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Transcript
ػցֶशʹ͓͚Δ σʔλͷ࠶ݱੑʹ͍ͭͯ ΫοΫύουגࣜձࣾછ୩༔Ұ
ࣗݾհ ‣ છ୩༔Ұ<:VJDIJSP4PNFZB> ‣ ౦େܭࢉֶम࢜ ܗࣜख๏ɺΞΫλʔϞσϧɺ ‣ ΫοΫύουגࣜձࣾ
৽ଔೖࣾݚڀ։ൃ෦ΤϯδχΞ ‣ UXJUUFSDPNBZFNPT@Z ‣ HJUIVCDPNBZFNPT ‣ XXXBZFNPTNF
None
Ϩγϐ ສҎ্ ݄࣍ར༻ऀ ສਓ ݄࣌
Χࠃʹల։ ݴޠʹରԠ ݄࣌
‣ ݄ઃཱ ‣ ਖ਼ࣾһ໊ Πϯλʔϯ໊ ‣ ػցֶश͕த৺ ‣ 1ZUIPO
ݚڀ։ൃ෦
ྉཧ͖Ζ͘ ΈࠐΈχϡʔϥϧωοτϫʔΫ ʹΑΔྉཧը૾ͷࣗಈೝࣝ εϚʔτϑΥϯͷࣸਅͷɺ ྉཧࣸਅΛࣗಈతʹऩूه
‣ ݄ઃཱ ‣ ਖ਼ࣾһ໊ Πϯλʔϯ໊ ‣ ػցֶश͕த৺ ݚڀ։ൃ෦
λεΫ λεΫ
λεΫ λεΫ
λεΫ λεΫ /FX
‣ DMPOFͯ͠ɺखݩͰUFTUTTQFDTΛΒͤΔ ‣ JTTVFͰ͢ ‣ GPSLͯ͠1VMM3FRVFTU ‣ FUD ෳਓͰͷιϑτΣΞ։ൃʁ
‣ ࣮ݧϞσϧΛ࠶ݱ͢Δʁ ‣ ԾઆΛཱͯͯ৽ͨͳ࣮ݧΛ͢Δʁ ‣ ·ͱΊΔʁ ‣ ෳਓͰฒྻʹʁ ෳਓͰͷػցֶशʁ
‣ ػցֶशΛར༻ͯ͠ܧଓతʹՌΛग़͢ඞཁ͕͋Δ ‣ νʔϜͰྑ͍ײ͡ʹΓ͍ͨ ιϑτΣΞ։ൃͷϊϋͳͲΛࢀߟʹ ‣ σʔλͷ࠶ݱੑ ػցֶशΤϯδχΞϦϯά
σʔλͷ࠶ݱੑʹ͍ͭͯͷߟ ఏى ࠶ݱੑΛߴΊΔͨΊͷऔΓΈͷհ BLBHJͷհ ར༻ྫͱ࣮ ຊͷτϐοΫ QZDPOKQ@ IUUQHJUIVCDPNBZFNPTBLBHJ pip
install akagi
σʔλͷ࠶ݱੑʹ͍ͭͯͷߟ ఏى ࠶ݱੑΛߴΊΔͨΊͷऔΓΈͷհ BLBHJͷհ ར༻ྫͱ࣮ ຊͷτϐοΫ QZDPOKQ@ IUUQHJUIVCDPNBZFNPTBLBHJ pip
install akagi
σʔλ ܇࿅σʔλ ςετσʔλ
σʔλ ܇࿅σʔλ ςετσʔλ ੳ
1ZUIPO σʔλ ܇࿅σʔλ ςετσʔλ ੳ ࣮
1ZUIPO σʔλ ܇࿅σʔλ ςετσʔλ Ϟσϧ ੳ ࣮ ֶश
1ZUIPO σʔλ ܇࿅σʔλ ςετσʔλ Ϟσϧ ੳ ࣮ ֶश ධՁ
1ZUIPO σʔλ ܇࿅σʔλ ςετσʔλ Ϟσϧ ੳ ࣮ ֶश ධՁ Ϟσϧ`
ൺֱ
1ZUIPO σʔλ ܇࿅σʔλ ςετσʔλ Ϟσϧ ੳ ࣮ ֶश ධՁ Ϟσϧ`
ൺֱ ࣮ݧͷ࠶ݱੑʽσʔλͷ࠶ݱੑ
Ϟσϧʗ࣮ݧ σʔλ 1ZUIPOεΫϦϓτ +VQZUFS/PUFCPPL
ώϡʔϚϯΤϥʔʹऑ͍
ώϡʔϚϯΤϥʔʹऑ͍ ࡞ۀ͕͘ͳΔͱ໘ɹɹɹɹ
‣ σʔλ͕खݩʹ͋Δ ‣ σʔλ͕4QSFBETIFFUʹ͋Δ ‣ σʔλ͕ʜ ͳͥ͜͏ͳͬͯ͠·͏ͷ͔ 1ZUIPOεΫϦϓτ͔ΒΕ͍ͯΔ ^
ֶशɺςετ
find . -type file -size +100M
Ͳ͏ͳΓ͍͔ͨ
Ͳ͏ͳΓ͍͔ͨ
Ͳ͏ͳΓ͍͔ͨ σʔλ͕1ZUIPOͰॻ͔Ε͍ͯΔʂ
Ͳ͏ͳΓ͍͔ͨ ͜͏ͳΓ͍ͨ
‣ σʔλιʔε͕ҟͳΔॴ͔ΒΞΫηεͰ͖Δ ·͋େ֓ͦ͏ ‣ σʔλιʔεͷΞΫηε͕࣮ߦՄೳͳ1ZUIPOίʔυʹͳ͍ͬͯΔ ͜Ε͕ग़དྷͯͳ͍ ͜͏ͳΔ݅
‣ σʔλιʔεຖʹ݁ߏ৭ʑॻ͘ .Z42-NZTRMDMJFOU 3FETIJGU 1( QTZDPQH
4CPUP -PDBMPT PTQBUI ͳͥͳͷ͔
‣ σʔλιʔεຖʹ݁ߏ৭ʑॻ͘ ‣ ΓखݩʹDTWͰ͋ͬͨ΄͏ָ͕ DTWʹॻ͖ग़ͯͬͨ͠Γ͢Δ ͳͥͳͷ͔
‣ Ϟσϧ࣮ݧͷ࠶ݱͷͨΊσʔλͷ࠶ݱ͕ඞཁ σʔλͷ࠶ݱ͕༰қʹՄೳͰ͋Δ͜ͱ͕ॏཁ ‣ σʔλͷ࠶ݱੑ͘ͳΓ͕ͪ σʔλऔಘॲཧ͕1ZUIPOεΫϦϓτͰॻ͔Ε͍ͯͳ͍͔Βʁ Θ͔ͬͨ͜ͱ
σʔλͷ࠶ݱੑʹ͍ͭͯͷߟ ఏى ࠶ݱੑΛߴΊΔͨΊͷऔΓΈͷհ BLBHJͷհ ར༻ྫͱ࣮ ‣ Ϟσϧ࣮ݧͷ࠶ݱͷͨΊσʔλͷ࠶ݱ͕ඞཁ σʔλͷ࠶ݱ͕༰қʹՄೳͰ͋Δ͜ͱ͕ॏཁ
‣ σʔλͷ࠶ݱੑ͘ͳΓ͕ͪ σʔλऔಘॲཧ͕1ZUIPOεΫϦϓτͰॻ͔Ε͍ͯͳ͍͔Βʁ
σʔλͷ࠶ݱੑʹ͍ͭͯͷߟ ఏى ࠶ݱੑΛߴΊΔͨΊͷऔΓΈͷհ BLBHJͷհ ར༻ྫͱ࣮ ‣ Ϟσϧ࣮ݧͷ࠶ݱͷͨΊσʔλͷ࠶ݱ͕ඞཁ σʔλͷ࠶ݱ͕༰қʹՄೳͰ͋Δ͜ͱ͕ॏཁ
‣ σʔλͷ࠶ݱੑ͘ͳΓ͕ͪ σʔλऔಘॲཧ͕1ZUIPOεΫϦϓτͰॻ͔Ε͍ͯͳ͍͔Βʁ
σʔλΛऔಘͯ͠Ωϟογϡ͢Δॲཧ͕ 1ZUIPOεΫϦϓτͰָʹॻ͚Ε ࣮ݧશମͷ࠶ݱੑ্͕͢Δ ͔͠Εͳ͍ Ծઆ
σʔλΛऔಘͯ͠Ωϟογϡ͢Δॲཧ͕ 1ZUIPOεΫϦϓτͰָʹॻ͚Ε ࣮ݧશମͷ࠶ݱੑ্͕͢Δ ͔͠Εͳ͍ Ծઆ
1SPDFTT 'FUDI -PBE ‣ ϦϞʔτͳσʔλιʔε͔ΒඞཁͳσʔλΛμϯϩʔυ͢Δ ‣ σʔλΛϝϞϦʹϩʔυ͢Δ ‣ σʔλΛλεΫϞσϧʹ߹ΘͤͯՃ͢Δ
1SPDFTT 'FUDI -PBE
͜͜·͋·͋ڞ௨ 1SPDFTT 'FUDI -PBE ͜͜λεΫʹΑ༷ͬͯʑ
1SPDFTT 'FUDI -PBE BLBHJ
‣ ༷ʑͳ ϦϞʔτ σʔλιʔε͔ΒσʔλΛμϯϩʔυ σʔλͷΩϟογϡΛ࡞ʗཧ ‣ औಘͨ͠σʔλʹରͯ͠ΠςϨʔτ͢Δ ‣ ͜ΕΒ࣮ߦՄೳͳ1ZUIPOίʔυͰදݱ
BLBHJͷΔ͜ͱ
None
উͬͨ
‣ σʔλͷऔಘ෦Λ࣮ߦՄೳͳ1ZUIPOεΫϦϓτͰهड़Մೳ σʔλιʔεຖͷ࣮Λ͢ΔΑΓָʹ ‣ σʔλͷ࣮ମόʔδϣϯཧ͠ͳͯ͘ྑ͍ ผͷϗετͰHJUDMPOF࣮ߦ͢Ε࠶ݱग़དྷΔ ‣ ҟͳΔ࣌ࠁɺҟͳΔڥͰσʔλΛ࠶ݱ͢Δࣄ͕ग़དྷΔ
ෳͷϗετͰύϥϝʔλΛม͑ͯಉ࣌ʹֶशɺͳͲ͕Γ͘͢ ظͰ͖Δ͜ͱ
┌──────────┐ │DataSource│◀─────────┬─────────────────────┬────────────────┐ └──────────┘ │ │ │ 1│ │ │
│ │ │ │ │ │ ┌─────────────────────┐┌──────────────────┐┌────────────┐ │ │SpreadsheetDataSource││RedshiftDataSource││S3DataSource│ *│ └─────────────────────┘└──────────────────┘└────────────┘ ┌──────────┐ │ DataFile │ └──────────┘ 1│ │ │ 1│ ┌──────────┐ │ Content │◀────────┬────────────────┬───────────┐ └──────────┘ │ │ │ ┌──────────────────┐┌────────────┐┌─────────┐ │SpreadsheetContent││LocalContent││S3Content│ └──────────────────┘└────────────┘└─────────┘
‣ (JU-'4 ಋೖख͔ܰ σʔλͷ࣮ମΛڞ༗͍ͯ͠ΔͷͰҙຯతͳૢ࡞͕ग़དྷͳ͍ ྫΫΤϦͷॻ͖͑ ઌߦख๏
‣ %BUB7FSTJPO$POUSPM σʔλͷόʔδϣϯཧ ͜Εͪΐͬͱ໘നͦ͏ ઌߦख๏ IUUQTEBUBWFSTJPODPOUSPMDPN
࣮
σʔλͷ࠶ݱੑʹ͍ͭͯͷߟ ఏى ࠶ݱੑΛߴΊΔͨΊͷऔΓΈͷհ BLBHJͷհ ར༻ྫͱ࣮ ‣ Ϟσϧ࣮ݧͷ࠶ݱͷͨΊσʔλͷ࠶ݱ͕ඞཁ σʔλͷ࠶ݱ͕༰қʹՄೳͰ͋Δ͜ͱ͕ॏཁ
‣ σʔλͷ࠶ݱੑ͘ͳΓ͕ͪ σʔλऔಘॲཧ͕1ZUIPOεΫϦϓτͰॻ͔Ε͍ͯͳ͍͔Βʁ ‣ BLBHJ͕σʔλͷμϯϩʔυΛαϙʔτ͢Δ ༷ʑͳσʔλιʔε͔Β ‣ σʔλͷ࠶ݱੑ˺࣮ݧͷ࠶ݱੑΛ্
‣ ґવख͕ؒศར͞Λ্ճΔ߹͕গͳ͘ͳ͍ ը૾ηοτͳͲɺϩʔΧϧʹམͱ͔ͯ͠Βૢ࡞͍ͨ͠ ‣ ࣮ݧͦͷͷ σʔλऔಘޙ Γ࠶ݱੑΛࣦ͍ͭͭ͋Δ ࣮ݧʹͲͷΑ͏ͳҙਤ͕͋ͬͯɺͲͷΑ͏ͳ݁Ռ͕ಘΒΕͨͷ͔
՝
‣ σʔλͷόʔδϣϯΛݻఆ͍ͨ͠ ࠷৽ͷσʔλ͕ཉ͍͠ ͋ͷਓͱಉ͡σʔλ͕ཉ͍͠ ‣ αϙʔτग़དྷΔσʔλιʔεΛ૿͢ ‣ ݱঢ়"NB[PO3FETIJGU
"NB[PO4 (PPHMF4QSFBETIFFUͷΈ .Z42- IUUQGUQ )5.-UBCMF ࠓޙͷల
2