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
データ分析におけるより良いコードの書き方
Search
いそひまかん
August 08, 2024
Programming
77
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データ分析におけるより良いコードの書き方
8月8日(木)に開催したDS集会で発表したスライドです。
いそひまかん
August 08, 2024
More Decks by いそひまかん
See All by いそひまかん
時代は『価値創造』 ~ 最新スキルチェックリストで知る変化 ~
isohimakan
0
35
大阪万博、いつ行けばいいの?
isohimakan
0
49
洋書で輪読会をした話
isohimakan
0
610
勉強会のすすめ
isohimakan
0
400
データを整理する技術
isohimakan
0
110
【数式を恐れない】文系からの統計検定2級合格法
isohimakan
0
81
Other Decks in Programming
See All in Programming
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.4k
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
460
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
えっ!!コードを読まずに開発を!?
hananouchi
0
190
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
130
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
370
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
310
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
My Coaching Mixtape
mlcsv
0
170
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Making the Leap to Tech Lead
cromwellryan
135
10k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Agile that works and the tools we love
rasmusluckow
331
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
820
Balancing Empowerment & Direction
lara
6
1.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
260
Transcript
Copyright 2024 @Isokan_DD データ分析におけるより良いコードの書き方 Made by いそひまかん 2024/08/08
2 Copyright 2023 @Isokan_DD 2 Copyright 2023 @Isokan_DD はじめに ⽬的
- より分かりやすく、理解しやすいコードを書く重要性と意識を芽⽣えさせる 対象者 - データサイエンスに興味ある初学者、学⽣ - 駆け出しのアナリスト、DS このLTで取り扱わないもの - パフォーマンス向上の観点からのコーディング 注意 現時点での考えのまとめであり、ベストプラクティスではありません。 より良い実践⽅法があれば、学ばさせていただきたいと思います。
3 Copyright 2023 @Isokan_DD 3 Copyright 2023 @Isokan_DD ⾃⼰紹介 •
VRCでは ‧DS集会運営主催 ‧たまにLT登壇します • 普段のお仕事 ‧データサイエンティスト/WEBエンジニア ‧通販/⾦融業界向けへのデータ解析 ‧機械学習系プロダクト開発 • 趣味 ‧ご飯巡り/飯テロ ‧ホラーワールド巡り おつきみ / Otsukimi ©HYPERSPACE ©GBXD
4 Copyright 2023 @Isokan_DD 4 Copyright 2023 @Isokan_DD こんな悩みを経験した事はありませんか?
- コードが汚くて、何をしたか分からない(理解に時間がかかる) - しばらくぶりにnotebookを実行したら動かない - 引継ぎで苦労
5 Copyright 2023 @Isokan_DD 5 Copyright 2023 @Isokan_DD 本当にあった大変だった話
- 半年毎に報告する定期の分析タスクで弊害が - 1回目は保守性よりも示唆だしやスピード優先で解析 - 分析コードもデータも整理されていなかった - 2回目の案件で3か月間の納期でコードや集計条件の解読に1か月もか けてしまった - 引継ぎするもドキュメントの整理で手間取る事に… - 1からやり直した方が早かったのでは?
6 Copyright 2023 @Isokan_DD 6 Copyright 2023 @Isokan_DD 背景 -
保守性を意識した分かりやすいコードを書く事は、以下の背景がある分析業 務において優先度を上げにくい - 再利用性より分析からのスピード優先 - データ探索や分析要件の再利用する機会がない - そんな時、ある記事を発見 - オブジェクト指向に学ぶデータサイエンスのコーディング術 出所:オブジェクト指向に学ぶデータサイエンスのコーディング術 (https://zenn.dev/zenkigen_tech/articles/f15988969d9c3f)
7 Copyright 2023 @Isokan_DD 7 Copyright 2023 @Isokan_DD 背景 -
分かりやすいコード書く方法として挙げられる「リーダブル・コード」 - 全てを取り入れることは難しいが、初心者でも取り入れやすいノウハウがある - 今回は個人的におすすめできるノウハウを紹介する 出所:amazonから(https://x.gd/34PHs)
8 Copyright 2023 @Isokan_DD 8 Copyright 2023 @Isokan_DD - コード実行時に影響を与えないが、入出力に期待される型を把握する目的で
有効 1.型を適用する
9 Copyright 2023 @Isokan_DD 9 Copyright 2023 @Isokan_DD どんなデータが入るか分からない分析 業務では、ソフトウェア開発と比べて型
の恩恵は限定的 1.型を適用する
10 Copyright 2023 @Isokan_DD 10 Copyright 2023 @Isokan_DD コメントを書くことは実現したい要件の整理につながる 実現したい分析内容を説明するように簡潔にコメントを書くことで、
- 分析要件の見落としが見つかる - 上手く書けない(説明できない)時は詳細が明確になっていない - 集計条件が雑 - 異常系の考慮漏れ 2. コメントを書く
11 Copyright 2023 @Isokan_DD 11 Copyright 2023 @Isokan_DD 書くべきでないコメント
- コードを読めばすぐわかる内容 - 代名詞が含まれている 書くべきコメント - コードの意図 - 全体像が分かるもの 2. コメントを書く
12 Copyright 2023 @Isokan_DD 12 Copyright 2023 @Isokan_DD - 単体テストを書く
- カバレッジ100%を目指すのではなく、 入力に対して100%動くか怪しい部分に導入す る - 慣れたらpytestなどのテストツールを導入する もあり - フォルダの構成を整理する その他
13 Copyright 2023 @Isokan_DD 13 Copyright 2023 @Isokan_DD 参考文献 -
Dustin Boswell, Trevor Foucher,リーダブルコード, オライリー・ジャ パン - オブジェクト指向に学ぶデータサイエンスのコーディング術 (https://zenn.dev/zenkigen_tech/articles/f15988969d9c3f) - 高橋威知郎, 白石卓也, 清水景絵, データサイエンティストの秘密ノー ト, SBクリエイティブ
Copyright 2023 @Isokan_DD ご清聴ありがとうございました