pareto-frontier-optimization
Execute grid search over DBSCAN hyperparameters, evaluate each combination across all images, filter by F1 threshold, and identify Pareto-optimal solutions balancing F1 score and delta metric.
- License 许可
- MIT
- 最近更新
- 2026-10-02
- Stars
- ★ 93
- Forks
- 8
01 前言 Front Matter
- name
- pareto-frontier-optimization
- description
- Execute grid search over DBSCAN hyperparameters, evaluate each combination across all images, filter by F1 threshold, and identify Pareto-optimal solutions balancing F1 score and delta metric.
03 SKILL.md 正文
Grid Search Space
Create all combinations of:
| Parameter | Range | Values |
|---|---|---|
min_samples |
3–9 | [3, 4, 5, 6, 7, 8, 9] |
epsilon |
4–24 (step 2) | [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24] |
shape_weight |
0.9–1.9 (step 0.1) | [0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9] |
Total combinations: 7 × 11 × 11 = 847
Evaluation Pipeline
For each hyperparameter combination (min_samples, epsilon, shape_weight):
-
Loop over all unique images from expert dataset (using
file_rad) -
For each image:
- Extract citizen science points for this image
- If no citizen science points exist:
- Set F1 = 0.0, delta = NaN
- Continue to next image
- Run DBSCAN with current hyperparameters on citizen science points
- If no clusters found (all points noise or single cluster with < min_samples):
- Set F1 = 0.0, delta = NaN
- Continue to next image
- Compute cluster centroids
- Extract expert points for this image
- Perform greedy matching of centroids to expert points
- Compute F1 score and delta metric for this image
-
Aggregate across images:
- Average F1: Include all F1 values (including 0.0)
- Average delta: Only include non-NaN values
- If all delta values are NaN (no matches found in any image), set average delta = NaN
-
Filter results:
- Keep only results where average F1 > 0.5
Pareto Frontier
Identify Pareto-optimal solutions:
A solution is Pareto-optimal if:
- No other solution has both higher F1 and lower delta
- It is not dominated on both objectives
Optimization goals:
- Maximize F1 score (higher is better)
- Minimize delta (lower is better)
Parallelization
Recommended approach:
- Use
multiprocessing.Poolorjoblib.Parallelto evaluate hyperparameter combinations in parallel - Each worker processes one or more complete combinations (all images for one hyperparameter set)
- Collect results and apply filtering/Pareto frontier detection on main process
04 同仓库更多 Skills
object_counter
Count occurrences of an object in the image using computer vision algorithm.
travel-planning-workflow
Invoke this skill when performing travel planning. It defines a structured workflow for generating itineraries. Following this workflow is essential to ensure the final plan satisfies user requirements.
bundled-dataset-search-tool
invoke this skill when you need to perform database search for travel planning. This skill provides some useful pre-packaged tools to look up accommodations, attractions, cities, driving distance, flights, and restaurants from the bundled dataset.
glm-output
Output-processing guidance for GLM tasks. Especially useful after glm-basics and glm-calibration when you need verifier-matching metrics from output.nc and a final /root/metrics.json.
glm-calibration
Calibration guidance for GLM tasks. Often most effective after glm-basics has clarified the setup; glm-output is the companion skill for exact final metric computation.
glm-basics
A good starting point for GLM calibration tasks. Use to inspect glm3.nml, confirm how GLM runs, and identify the relevant files before moving on to calibration and output evaluation.