mcpField
D
dataset-quality-audit

dataset-quality-audit

github.com/zebbernデータ・データベース4.7k42 回インストール1 日前に更新
リポジトリ

dataset-quality-audit について

表形式のファイルを 12 の観点で監査し、スコア、総合評価、修正案を出すツールです。データ利用前の確認を行うアナリストやデータチーム向けです。

主な機能

  1. 0112 項目の品質チェック
  2. 02項目ごとのスコアと評価
  3. 03総合スコアと評価
  4. 04実行可能な修正案
  5. 05CSV、TSV、Excel、JSON 入力
  6. 06JSON レポートと行サンプリング

活用シーン

  1. 01分析前のデータセット監査
  2. 02ID 列の重複値チェック
  3. 03大規模ファイルのサンプリング検査
  4. 04結果を JSON レポートに保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/zebbern/claude-code-guide --skill dataset-quality-audit

インストール後、Claude Code で/dataset-quality-auditを入力して読み込まれたか確認します。

同梱ファイルLICENSEscripts/data_quality_checker.py

詳細

dataset-quality-audit

表形式データに対して12次元の品質チェックを実行するデータ品質監査ツールです。各次元のスコア(0~100)、総合評価、および実行可能な修正案を出力します。

機能

次元説明
欠損値列ごとの null/NaN 値の件数と割合
重複行完全に重複した行の数と割合
型の一貫性1つの列内で型が混在している状態(例:数値とテキストの混在)
値の範囲/外れ値IQR 法を使用した外れ値の検出
形式の準拠日付、メールアドレス、電話番号、その他の形式付きフィールドの一貫性
一意性制約ID 型の列に重複が含まれているかどうか
空白文字の問題先頭/末尾のスペース、空文字列、空白文字のみの値
定数列一意の値が1つしかない列(情報量ゼロ)
分布の歪度数値列の歪度が過剰かどうか
列名列名内のスペース、特殊文字、大文字と小文字の不統一
カーディナリティの異常一意の値の数が異常に多い、または少ない状態
列間の一貫性列間の論理チェック(例:開始日が終了日より前かどうか)

クイックスタート

# Basic quality check
python3 scripts/data_quality_checker.py data.csv

# Save report as JSON
python3 scripts/data_quality_checker.py data.csv --output report.json

# Specify ID columns (for uniqueness checks)
python3 scripts/data_quality_checker.py users.csv --id-columns "user_id,email"

# Specify date columns (for format checks)
python3 scripts/data_quality_checker.py orders.csv --date-columns "created_at,updated_at"

詳細な使用方法

基本的な呼び出し
python3 scripts/data_quality_checker.py <data-file> [options]
パラメーター
パラメーター短縮形必須デフォルト説明
input—はい—入力ファイルのパス(CSV/TSV/Excel/JSON)
--output-oいいえstdoutJSON レポートの出力先パス
--id-columns-idいいえ自動検出一意であるべき列名をカンマ区切りで指定
--date-columns-dcいいえ自動検出日付を含む列名をカンマ区切りで指定
--sample-sいいえ全行サンプリングする行数(大きなファイルで便利)
--encoding-eいいえutf-8ファイルのエンコーディング

出力形式(JSON)

{
  "file": "data.csv",
  "rows": 10000,
  "columns": 15,
  "overall_score": 78.5,
  "grade": "B",
  "dimensions": {
    "missing_values": {
      "score": 85.0,
      "issues": [
        {"column": "age", "missing_count": 150, "missing_pct": 1.5, "suggestion": "Fill with median or mode"}
      ]
    },
    "duplicates": {
      "score": 95.0,
      "issues": [...]
    }
  },
  "top_suggestions": [
    "Column 'age' has 1.5% missing values — consider filling with the median",
    "Found 200 fully duplicated rows — consider deduplication"
  ]
}

評価基準

評価スコア範囲意味
A+95–100品質は非常に優れており、そのまま使用できます
A90–95品質は良好で、軽微な問題のみです
B80–90品質は中程度で、使用前の修正を推奨します
C60–80品質は低く、大幅なクリーニングが必要です
D40–60品質は非常に低く、多くの問題への対応が必要です
F0–40実質的に使用できず、データの再収集または大規模なクリーンアップが必要です

依存関係

  • Python 3.8+
  • pandas
  • numpy
pip install pandas numpy

コメント