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
validateパッケージでデータを検証する / Data Validation with v...
Search
松村優哉
February 19, 2022
Programming
710
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
validateパッケージでデータを検証する / Data Validation with validate package
松村優哉
February 19, 2022
More Decks by 松村優哉
See All by 松村優哉
はじめての機械学習 / entrance-to-machine-learning2022
y__mattu
2
1.2k
rstanの環境構築 / Set Up rstan
y__mattu
1
1.2k
R言語とGo言語 / R and Go
y__mattu
2
1.1k
はじめての機械学習 / Entrance to Machine Learning
y__mattu
0
840
平均値と中央値の違いについて
y__mattu
1
1k
dplyr 1.0.0の新機能 / dplyr 1.0.0
y__mattu
2
10k
Other Decks in Programming
See All in Programming
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
510
R8 の設定見直しでアプリサイズ削減
andpad
0
220
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
210
Domain-Driven Transformation
hschwentner
2
2.3k
Railsバージョンを4倍にした話
optim
0
440
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.5k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
970
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
760
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
380
Code Review Best Practice
trishagee
74
20k
A Tale of Four Properties
chriscoyier
163
24k
The Language of Interfaces
destraynor
162
27k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
360
Transcript
validate パッケージで データを検証する @y__mattu 2022-02-19 HiRoshima.R #7 LT
誰︖ • 松村優哉 • 出⾝: 計量経済、ベイズ統計、 因果推論 • お仕事: データサイエンティスト&
データエンジニア in 広告会社 • ⾔語: R, Python • Tokyo.R, Japan.R運営 • 近況:2⽉に転職しました︕
宣伝 Rユーザのための RStudio[実践]⼊⾨ 第2版 好評発売中!!
今⽇のお話 • 統計的データクリーニングについて • validateパッケージの紹介
データクリーニングとは • データクリーニング≒データ前処理の最も基本的な部分 • 数値表現の統⼀ • ⽇付型の統⼀ • ⽂字列の正規化・前処理 •
⽋測データの特定・補完 • エラーデータの特定・修正 • 今⽇の話題は、エラーデータの特定、つまりデータ検証がメイン 統計的な処理が必要な領域
データ検証の必要性 • データは意図せず変化してしまう • 前処理⼯程のミス • 集計のミス • そもそもデータソースの時点で変なデータが含まれている •
適当なタイミングで、⽬の前のデータが「正しいか」の検証(バリ デーション)を⼊れると良い データの読み込み データの前処理 分析・可視化 処理1 処理2 処理3 検証 検証 検証
validateパッケージ • CRANからインストール • 使うデータをロード
retailersデータ • 架空の⼩売業者の財務データ
check_that()による簡単なチェック ルールを記述。ここでは以下の2つ - 売上⾼は0より⼤きい - 従業員⼀⼈当たりの⼈件費は50(50,000ギルダー)未満
検証結果の可視化
検証ルール作成、適⽤、結果確認の分離 検証 ルール 作成 適⽤ 確認 validate::validator() validate::confront() summary(), validate::aggregate()
ルール 作成 適⽤
検証ルールの作成⽅法(発展編1) • レコード間での⽭盾のチェック • 例: 市と通りが同じなら郵便版後も同じでなくてはならない • 簡単なデータで検証 2レコード⽬が間違い
検証ルールの作成⽅法(発展編1) • レコード間での⽭盾のチェック • 例: 市と通りが同じなら郵便版後も同じでなくてはならない ルールをチルダでつなぐ
検証ルールの作成⽅法(発展編2) • マクロの定義 • ルールが多くなると、似たようなルール(平均が0以上など)が多くなって きて、書くのが⾯倒 := 演算⼦で共通ルールを 作っておけば、再利⽤可能
検証ルールの作成⽅法(発展編3) • 変数グループ • a>=m, b>=mみたいに「m(平均)が0以上」は共通してるので何⾏も書き たくない • 以下の2つは同じ
検証結果をデータフレームとして出⼒ • aggregate() • retailorデータの例に戻る ルール 作成 適⽤ 確認
検証ルールを外部ファイルで定義 • validator()に渡す検証ルールは外部ファイル(yaml)にて定義可能 • ルールが多くなってくるとこちらのほうが便利かも rules.yml
まとめ • データ前処理の途中で検証(バリデーション)をするのは⼤切 • Rでデータ検証ならvalidateパッケージが便利
参考資料 • R⾔語 - データ検証パッケージ "validate” • validateパッケージのドキュメント • 『統計的データクリーニングの理論と実践』
Enjoy!