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
データサイエンス100本ノック(構造化データ加工編) No1~40までをSQLで書いてみて
Search
wakama1994
June 21, 2022
Programming
260
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
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
270
ド文系だった私が、 KaggleのNCAAコンペでソロ金取れるまで
wakamatsu_takumu
3
2.8k
「実践DataOps」書籍紹介
wakamatsu_takumu
0
73
Kaggleの歩き方-関西Kaggler会に参加してみて-
wakamatsu_takumu
2
690
BQで天気基盤をつくって、役立つ情報を可視化してみた!
wakamatsu_takumu
4
1.3k
「データモデリング実践入門」は20年経っても色あせない
wakamatsu_takumu
4
1.5k
いろんな可視化ツールあるけどggplotて何がいいの?- 複数ツールで比較してみた!-
wakamatsu_takumu
1
1.6k
文系出身でも「アルゴリズム×数学」はスッキリ理解できた!話
wakamatsu_takumu
0
650
ChatGPTにどんなときRを使えばいいか聞いてみた!
wakamatsu_takumu
0
760
Other Decks in Programming
See All in Programming
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
The NotImplementedError Problem in Ruby
koic
1
700
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
5.3k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
OSもどきOS
arkw
0
480
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
660
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
710
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
4 Signs Your Business is Dying
shpigford
187
22k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
200
Exploring anti-patterns in Rails
aemeredith
3
400
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Building the Perfect Custom Keyboard
takai
2
790
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/