技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
nannyml【数据与研究】Use NannyML to monitor tabular ML models with performance estimation/calculation, drift detection, data-quality checks, chunking, thresholds, and CLI automation.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this repo skill when a task involves the nannyml Python package, the nml or nannyml CLI, post-deployment tabular model monitoring, silent model failure investigation, performance estimation without targets, realized performance monitoring, data drift detection, data-quality alerts, or NannyML YAML configuration.
NannyML is a CPU-oriented Python library for monitoring tabular classification and regression models. It supports confidence-based performance estimation (CBPE) for classification, direct loss estimation (DLE) for regression, realized performance calculation when targets arrive, univariate and multivariate drift detection, data-quality checks, summary statistics, and a configuration-driven CLI runner.
python -m pip install nannyml
python - <<'PY'
import nannyml as nml
print("nannyml", nml.__version__)
print(nml.CBPE)
print(nml.UnivariateDriftCalculator)
PY
NannyML depends on LightGBM. If installation or import fails around LightGBM system libraries, cloud filesystem dependencies, CLI rendering, or optional database output, read references/troubleshooting.md.
For a broader local sanity check after installation, run the bundled helper:
python scripts/check_install.py --check all
The helper verifies imports, API signatures, built-in dataset loaders, and CLI help without requiring network access, credentials, GPUs, or external services.
| User task or symptom | Read next |
|---|---|
| Estimate classification performance without analysis targets using CBPE | sub-skills/performance-monitoring/SKILL.md |
| Estimate regression performance without analysis targets using DLE | sub-skills/performance-monitoring/SKILL.md |
| Calculate realized performance once targets are available | sub-skills/performance-monitoring/SKILL.md |
| Compare estimated and realized performance, or compare performance with drift/data-quality results | references/results-and-plots.md and sub-skills/performance-monitoring/SKILL.md |
| Detect feature, output, or target drift | sub-skills/drift-monitoring/SKILL.md |
| Choose univariate drift methods or multivariate PCA/domain-classifier drift | sub-skills/drift-monitoring/references/methods.md |
| Rank drifted or unhealthy columns by alert count or correlation with performance | sub-skills/drift-monitoring/SKILL.md |
| Decide reference/analysis columns, chunking, thresholds, or built-in datasets | sub-skills/data-setup/SKILL.md |
| Monitor missing values, unseen values, numerical ranges, or summary statistics | sub-skills/data-setup/SKILL.md |
Use nml run, write YAML config, schedule jobs, or persist calculators/results | sub-skills/cli-and-automation/SKILL.md |
Interpret Result.filter, to_df, plot, compare, writer outputs, or Plotly figures | references/results-and-plots.md |
| Pick a bundled sample dataset for a quick example | references/datasets.md |
| Check whether this skill is stale for a new checkout or package release | references/repo-provenance.md |
Most API workflows follow this pattern:
import nannyml as nml
reference_df, analysis_df, analysis_targets_df = nml.load_synthetic_car_loan_dataset()
calculator_or_estimator = ... # choose from the route map
calculator_or_estimator = calculator_or_estimator.fit(reference_df)
result = calculator_or_estimator.calculate(analysis_df) # calculators
# or: result = calculator_or_estimator.estimate(analysis_df) # estimators
result_df = result.filter(period='analysis').to_df(multilevel=False)
figure = result.filter(period='analysis').plot()
Use the reference period to establish the baseline and the analysis period to monitor future or production-like records. Targets are required in reference data for performance estimation and in analysis data only when calculating realized performance or target drift.
nml.CBPE: classification performance estimation without analysis targets.nml.DLE: regression performance estimation without analysis targets.nml.PerformanceCalculator: realized performance calculation with targets.nml.UnivariateDriftCalculator: feature, output, or target univariate drift.nml.DataReconstructionDriftCalculator: multivariate PCA reconstruction-error drift.nml.DomainClassifierCalculator: multivariate domain-classifier AUROC drift.nml.MissingValuesCalculator, nml.UnseenValuesCalculator, nml.NumericalRangeCalculator: data-quality monitors.nml.SummaryStatsAvgCalculator, SummaryStatsMedianCalculator, SummaryStatsRowCountCalculator, SummaryStatsStdCalculator, SummaryStatsSumCalculator: summary-statistic monitors.nml.ConstantThreshold, nml.StandardDeviationThreshold: custom alert thresholds.nml.SizeBasedChunker, nml.CountBasedChunker, nml.PeriodBasedChunker, nml.DefaultChunker: chunking control.nml.AlertCountRanker, nml.CorrelationRanker: ranking and prioritization.nml.RawFilesWriter, nml.PickleFileWriter, nml.DatabaseWriter: output writers; DatabaseWriter requires the optional nannyml[db] extra.nml / nannyml CLI: configuration-driven monitoring runs.pip install 'nannyml[db]' and valid database credentials/connection strings.