Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
データサイエンス100本ノック(構造化データ加工編) No1~40までをSQLで書いてみて
Search
wakama1994
June 21, 2022
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データサイエンス100本ノック(構造化データ加工編) No1~40までをSQLで書いてみて
ウェザーニューズ社内のML技術情報共有会
wakama1994
June 21, 2022
More Decks by wakama1994
See All by wakama1994
ML Readyなデータの持たせ方 - 導入前の検証でわかったこと-
wakamatsu_takumu
0
270
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
330
ド文系だった私が、 KaggleのNCAAコンペでソロ金取れるまで
wakamatsu_takumu
3
3.2k
「実践DataOps」書籍紹介
wakamatsu_takumu
0
93
Kaggleの歩き方-関西Kaggler会に参加してみて-
wakamatsu_takumu
2
740
BQで天気基盤をつくって、役立つ情報を可視化してみた!
wakamatsu_takumu
4
1.3k
「データモデリング実践入門」は20年経っても色あせない
wakamatsu_takumu
4
1.6k
いろんな可視化ツールあるけどggplotて何がいいの?- 複数ツールで比較してみた!-
wakamatsu_takumu
1
1.7k
文系出身でも「アルゴリズム×数学」はスッキリ理解できた!話
wakamatsu_takumu
0
680
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
120
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.3k
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
残高管理から台帳サービスへの進化
artoy
1
210
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
3
610
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
140
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
860
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
ラッコキーワード サービス紹介資料
rakko
2
5.4M
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Transcript
データサイエンス100本ノック(構造化データ加工編) No1~40までをSQLで書いてみて Machine learning 技術情報共有会 Takumu Wakamatsu Date 2022.06.21
取り組んだ理由 最近仕事でGoogle Data portalを活用した案件を担当 ➢ Data portalとの連携上、Google Big Queryを活用する機会も増えた ➢
pythonに比べ使いやすいケースも結構ある ➢ その一方、複雑な処理になると、コーディングが難しい • SQLの練習ができつつも、その他の言語との比較をして、適切なタイミング でBig Queryを使えるようになりたい!
本書に関して 2020年にデータサイエンティスト協会 が、GitHub上に公開 2022年の1月にソシム社から「データサ イエンス100本ノック構造化データ加工編ガイ ドブックが発売され、こちらを購入し て、実施中 https://digitalpr.jp/r/39499
構成と進捗 https://github.com/The-Japan-DataScientist-Society/100knocks-preprocess/blob/master/docker/doc/100knocks_guide.pdf 6/12(日)から初めて、1〜40まで実施(No7の途中まで、疲れてできない日もあり) →SQLのみで実施(解答見るときに、pythonコードもたまにみてる)
構築したい方は以下で https://github.com/The-Japan-DataScientist-Society/100knocks -preprocess/blob/master/docker/doc/100knocks_guide.pdf
実際やってみて
感想 • 基礎統計量(最大、平均とか)をサクッと出す分には、SQLの方が書きやすい • 一方、複雑な結合とかに当たると、SQLの場合サブクエリが長くなったり、連 携がやりにくかったりするので、記述量が多くなるので、python(で実装され ているpandasの処理)の方が良さげ • 趣味程度にやる分だと、楽しい •
Dockerの環境に触れられるので、知見が広がった
SQLが楽な場合 SQL python S-024: レシート明細データ(receipt)に対し、顧客ID(customer_id)ごとに最も新しい売上年月日(sales_ymd)を求め、10件表示せよ。
SQLが面倒な場合 SQL python P-038: 顧客データ(df_customer)とレシート明細データ(df_receipt)から、顧客ごとの売上金額合計を求め、10件表示せよ。ただし、売上実績がない 顧客については売上金額を0として表示させること。また、顧客は性別コード(gender_cd)が女性(1)であるものを対象とし、非会員(顧客IDが"Z"から 始まるもの)は除外すること。
今後に関して 本書に関して • 6月末を目処に、SQLに関して、100問全てやり切るのを目標 • 実務で使える場面も多いので、サンプルコードで蓄積しておきたい(特に基 礎統計量のあたりとかは) • 暇なので、オラクルのSQLがらみの検定とかは受けてみたい(ただし、お金が高 い)
実務で使いたい方(参考) データベースの構築は厳しいと思うので、 Google Big Queryが個人的にはオススメ • csvがローカルからのアップロードが可能 な他、S3やドライブからもアップロード 可能 •
社内だと、csvデータの処理が現状多いで すが、サクッとデータ切り出したい時は pythonよりは楽(と思う) ◦ ただしカラム表記が日本語対応していないの が、欠点 uery-create-table-by-local-file-upload/