1.はじめに
データを用いた意思決定を行うためには、データそのものの品質が非常に重要です。
精度のいい機械学習モデルを作成しても、当初想定していなかったようなデータがインプットされてしまうと、モデルの精度が下がってしまいます。
例えば、手入力のデータであれば年齢のところに数値で入れて欲しいところを16歳などと文字列を記入したり、116歳などのタイプミスが発生する可能性があります。
これらを許容して学習データに含めてしまうと、モデルの精度が著しく低下することも考えられます。
そこで、Dataikuではデータの品質を監視し、設定した指標を基に継続的に改善するためにしてData QualityとMetricsというツールがあります。
本記事では、DataikuのData Quality機能とMetricsを活用し、データの品質管理や健全性、モデルのパフォーマンスをモニタリングする方法を紹介します。
2.データ品質監視の必要性
データを更新していくにあたって欠損や不正な形式、外れ値などの問題がしばしば発生します。
これらの問題を検知し、最適なデータをもとにモデルを運用していくには、DataikuのData QualityとMetricsをを活用して問題を検出・対策することが重要です。
今回使用するダミーデータは以下のようになります。
使用するダミーデータはカラム数は10でレコード数は10000になります
3.Metricsの活用
Metricsの概要
Dataikuでは、各データセットに対して「Metrics」を設定し、データの品質やモデルのパフォーマンスを数値化して監視できます。
Metricsはデータセットを開いたとき、画面上部に見えるタブから確認できます。(日本語設定にしているとメトリクスと表記されます。)
メトリクスの例としては以下のようになります
例えばレコード数やカラム数であったり、ファイルの数、サイズも確認できます。
Metricsの設定に関してはEDIT METRICSから設定できます。
Edit Metricsでは各カラムなどに対して、Metricsの設定ができます。
レコードのカウントであったり、最小値など統計量をもちいたものも設定できます。
年齢の最小値をMetricsとして設定しました。
他にもPythonのコードを用いて、独自のMetricsも作ることが可能です。
Metricsの概要としては以下のドキュメントが参考になります。
Metrics
https://doc.dataiku.com/dss/latest/metrics-check-data-quality/metrics.html#metrics
設定したMetricsはMetrics display settingsから設定することが可能です。
Metrics to display にあるものがMetricsとして表示されます。
Metricsを活用することで、データの異常を早期に発見し、迅速に対応することができます。
例えば、COLUMN COUNTのMetricsの数と想定してるカラム数が相違あれば、何かしらの異常が起きているということが簡単にチェックできます。
4.Data Qualityの活用
Data Qualityの概要
Data Qualityは、データセットの品質状態を評価し、改善が必要な箇所をハイライトします。
これにより、ビジネスユーザーでも簡単にデータの問題を検出し、対処することができます。
Data Qualityはデータセットを開いたとき、画面上部に見えるタブから確認できます。(日本語設定にしているとデータ品質と表記されます。)
CREATE RULESから様々な指標でデータをチェックすることが可能になります
どのような指標を使うかは以下のような形で設定することが可能です。
今回は指標の設定によってどのようなアウトプットがでてくるかColumn min in rangeを使って検証してみようと思います。
年齢の最小値は18ですがここでは最小値を20とします。この時、実際にテストしてみます
実際の最小値は18なのでエラーが表示されます。次にSoft minで20と設定します。
Soft minの場合はWARNINGが出ます。
Soft ありなしの違いですが、Softがない場合の設定はエラーがでてシナリオに組み込んだ場合、シナリオが停止します。
対して、Softのある場合は警告がでるだけでシナリオは止まりません。
シナリオの中にこれらを組み込む場合、Softあるなしを考慮して組み込む必要があります。
Data Qualityについては以下のドキュメントも参考になります。
Concept | Data quality rules
設定が終わり、最初の画面にもどると以下のような形になります。
設定した指標にたいしての、概要とステータスがモニタリングできるようになっています。
年齢だけでなく他のカラムについても指標を設定した結果が以下のようになります。
Current Dataset statusでは設定した指標に対して最も重要視される状態について表示されます。設定項目に対してErrorが出ているため、”Error”と表示されています。
Status breakdownでは設定項目に対するErrorの数、Warningの数、OKの数が表示されています。
Current status by ruleは設定項目に対するStatusの詳細が表示されています。
このような形で、Data Qualityを利用することによりデータの品質を保つことができます。
5.終わりに
データの品質は、モデルのパフォーマンスに影響を与える要因です。
DataikuのData QualityとMetricsを活用することで、データの問題を未然に防ぎ、より高品質なデータをもとにモデルを作成することが可能になります。
Dataikuのデータ監視機能を活用することで、モデルだけでなくデータそのもの品質も担保することができます。