Add an option to control the maximum marginal degree in AIM workload construction

Đã đóng
#199 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
65/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python

Hướng nghiên cứu

Look at the AIM workload construction code, likely in a file like aim.py or workload.py. The current fixed degree of 3 needs to be made a configurable parameter. Understand how max_marginal_size is used to filter marginals. The DPMM implementation linked shows the pattern. Add a degree parameter, integrate it with the existing filtering, and ensure it works with the two-column case from issue #196. Test by constructing workloads with different degree limits.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

AIM currently exposes max_marginal_size, which limits the size of marginal queries considered when constructing the workload. However, the maximum degree of the automatically constructed default workload is currently fixed at 3 and is not exposed as a configurable hyperparameter.

This is also related to the two-column case addressed in #196, where the number of available columns in the dataset necessarily results in a smaller degree than the current default workload construction.

In the DPMM implementation of AIM, these are exposed as two separate controls: degree (default 2) controls the maximum number of columns in a marginal, while max_cells constrains the size of the resulting marginal. max_cells therefore serves a similar purpose to max_marginal_size here.

It would be useful to expose the same distinction in this implementation. degree could determine the maximum number of columns considered together, while max_marginal_size could continue to filter these marginals based on the size of their joint domain. For example, a degree-3 marginal over three binary columns has only 8 cells, whereas a degree-2 marginal over two high-cardinality columns may be much larger.

The choice of degree and max_marginal_size, and the interaction between them, is an interesting hyperparameter trade-off.

If this sounds useful, I’d be happy to implement it and submit a PR.

Ngôn ngữ chính
Python
Star
32
Fork
13
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của google/dpsynth

Tất cả issue của google/dpsynth

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.