sdv-dev/SDV
Tạo dữ liệu tổng hợp cho dữ liệu dạng bảng
README
Tổng quan
các Kho dữ liệu tổng hợp (SDV) là thư viện Python được thiết kế để trở thành điểm dừng duy nhất giúp bạn tạo dữ liệu tổng hợp dạng bảng. SDV sử dụng nhiều thuật toán học máy để tìm hiểu các mẫu từ dữ liệu thực của bạn và mô phỏng chúng trong dữ liệu tổng hợp.
Tính năng
:brain: Tạo dữ liệu tổng hợp bằng cách sử dụng máy học. SDV cung cấp nhiều mô hình, từ phương pháp thống kê cổ điển (GaussianCopula) đến phương pháp học sâu (CTGAN). Tạo dữ liệu cho các bảng đơn, nhiều bảng được kết nối hoặc các bảng tuần tự.
:bar_chart: Đánh giá và trực quan hóa dữ liệu. So sánh dữ liệu tổng hợp với dữ liệu thực bằng nhiều biện pháp khác nhau. Chẩn đoán sự cố và tạo báo cáo chất lượng để hiểu rõ hơn.
:arrows_ngược chiều kim đồng hồ: Tiền xử lý, ẩn danh và xác định các ràng buộc. Kiểm soát quá trình xử lý dữ liệu để cải thiện chất lượng dữ liệu tổng hợp, chọn từ các loại ẩn danh khác nhau và xác định các quy tắc kinh doanh dưới dạng các ràng buộc logic.
| Liên kết quan trọng | |
|---|---|
Hướng dẫn |
Nhận một số kinh nghiệm thực tế với SDV. Khởi chạy sổ tay hướng dẫn và tự chạy mã. |
| :book: Tài liệu | Tìm hiểu cách sử dụng thư viện SDV với hướng dẫn sử dụng và tài liệu tham khảo API. |
| :orange_book: Blog | Nhận thêm thông tin chi tiết về cách sử dụng SDV, triển khai các mô hình và cộng đồng dữ liệu tổng hợp của chúng tôi. |
| :busts_in_silhouette: Diễn đàn DataCebo | Thảo luận về các tính năng của SDV, đặt câu hỏi và nhận trợ giúp. |
| :máy tính: Trang web | Kiểm tra trang web SDV để biết thêm thông tin về dự án. |
cài đặt
SDV được cung cấp công khai theo Giấy phép nguồn kinh doanh. Cài đặt SDV bằng pip hoặc conda. Chúng tôi khuyên bạn nên sử dụng môi trường ảo để tránh xung đột với phần mềm khác trên thiết bị của mình.
pip install sdv
conda install -c pytorch -c conda-forge sdv
Bắt đầu
Tải tập dữ liệu demo để bắt đầu. Tập dữ liệu này là một bảng mô tả khách lưu trú tại một khách sạn hư cấu.
from sdv.datasets.demo import download_demo
real_data, metadata = download_demo(modality='single_table', dataset_name='fake_hotel_guests')

Bản demo cũng bao gồm siêu dữ liệu, mô tả về tập dữ liệu, bao gồm các loại dữ liệu trong mỗi cột và khóa chính (guest_email).
Tổng hợp dữ liệu
Tiếp theo, chúng ta có thể tạo một Bộ tổng hợp SDV, một đối tượng mà bạn có thể sử dụng để tạo dữ liệu tổng hợp. Nó học các mẫu từ dữ liệu thực và sao chép chúng để tạo ra dữ liệu tổng hợp. Hãy sử dụng GaussianCopulaBộ tổng hợp.
from sdv.single_table import GaussianCopulaSynthesizer
synthesizer = GaussianCopulaSynthesizer(metadata)
synthesizer.fit(data=real_data)
Và bây giờ bộ tổng hợp đã sẵn sàng để tạo dữ liệu tổng hợp!
synthetic_data = synthesizer.sample(num_rows=500)
Dữ liệu tổng hợp sẽ có các thuộc tính sau:
- Các cột nhạy cảm được ẩn danh hoàn toàn. Các cột email, địa chỉ thanh toán và số thẻ tín dụng chứa dữ liệu mới nên bạn không để lộ giá trị thực.
- Các cột khác tuân theo các mẫu thống kê. Ví dụ: tỷ lệ loại phòng, phân bổ ngày nhận phòng và mối tương quan giữa giá phòng và loại phòng đều được giữ nguyên.
- Chìa khóa và các mối quan hệ khác vẫn còn nguyên vẹn. Khóa chính (email của khách) là duy nhất cho mỗi hàng. Nếu bạn có nhiều bảng, kết nối giữa khóa chính và khóa ngoại sẽ có ý nghĩa.
Đánh giá dữ liệu tổng hợp
Thư viện SDV cho phép bạn đánh giá dữ liệu tổng hợp bằng cách so sánh nó với dữ liệu thực. Bắt đầu bằng cách tạo một báo cáo chất lượng.
from sdv.evaluation.single_table import evaluate_quality
quality_report = evaluate_quality(real_data, synthetic_data, metadata)
Generating report ...
(1/2) Evaluating Column Shapes: |████████████████| 9/9 [00:00<00:00, 1133.09it/s]|
Column Shapes Score: 89.11%
(2/2) Evaluating Column Pair Trends: |██████████████████████████████████████████| 36/36 [00:00<00:00, 502.88it/s]|
Column Pair Trends Score: 88.3%
Overall Score (Average): 88.7%
Đối tượng này tính toán điểm chất lượng tổng thể theo thang điểm từ 0 đến 100% (100 là tốt nhất) cũng như phân tích chi tiết. Để biết thêm thông tin chi tiết, bạn cũng có thể trực quan hóa dữ liệu tổng hợp và dữ liệu thực.
from sdv.evaluation.single_table import get_column_plot
fig = get_column_plot(
real_data=real_data,
synthetic_data=synthetic_data,
column_name='amenities_fee',
metadata=metadata,
)
fig.show()

Tiếp theo là gì?
Sử dụng thư viện SDV, bạn có thể tổng hợp dữ liệu một bảng, nhiều bảng và dữ liệu tuần tự. Bạn cũng có thể tùy chỉnh toàn bộ quy trình làm việc của dữ liệu tổng hợp, bao gồm tiền xử lý, ẩn danh và thêm các ràng buộc.
Để tìm hiểu thêm, hãy truy cập Trang demo SDV.
Tín dụng
Cảm ơn đội ngũ cộng tác viên của chúng tôi đã xây dựng và duy trì hệ sinh thái SDV trong nhiều năm qua!
Trích dẫn
Nếu bạn sử dụng SDV cho nghiên cứu của mình, vui lòng trích dẫn bài viết sau:
Neha Patki, Roy Wedge, Kalyan Veeramachaneni. Kho dữ liệu tổng hợp. IEEE DSAA 2016.
@inproceedings{
SDV,
title={The Synthetic data vault},
author={Patki, Neha and Wedge, Roy and Veeramachaneni, Kalyan},
booktitle={IEEE International Conference on Data Science and Advanced Analytics (DSAA)},
year={2016},
pages={399-410},
doi={10.1109/DSAA.2016.49},
month={Oct}
}
Dự án Kho dữ liệu tổng hợp lần đầu tiên được tạo ra tại MIT Dữ liệu tới phòng thí nghiệm AI vào năm 2016. Sau 4 năm nghiên cứu và đồng hành cùng doanh nghiệp, chúng tôi đã tạo ra DataCebo vào năm 2020 với mục tiêu phát triển dự án. Ngày nay, DataCebo là nhà phát triển đáng tự hào của SDV, hệ sinh thái lớn nhất để tạo và đánh giá dữ liệu tổng hợp. Đây là nơi có nhiều thư viện hỗ trợ dữ liệu tổng hợp, bao gồm:
- 🔄 Khám phá và chuyển đổi dữ liệu. Đảo ngược các phép biến đổi để tái tạo dữ liệu thực tế.
- 🧠 Nhiều mô hình học máy -- từ Copulas đến Deep Learning -- để tạo dữ liệu dạng bảng, nhiều bảng và chuỗi thời gian.
- 📊 Đo lường chất lượng và quyền riêng tư của dữ liệu tổng hợp cũng như so sánh các mô hình tạo dữ liệu tổng hợp khác nhau.
Bắt đầu sử dụng gói SDV -- một giải pháp tích hợp đầy đủ và là điểm dừng duy nhất cho dữ liệu tổng hợp của bạn. Hoặc sử dụng các thư viện độc lập cho các nhu cầu cụ thể.
Dự án cùng danh mục
Danh sách tổng hợp các API miễn phí
TorchGeo: bộ dữ liệu, bộ lấy mẫu, biến đổi và mô hình được đào tạo trước cho dữ liệu không gian địa lý
Ghi nhãn dữ liệu được AI hỗ trợ dễ dàng với sự hỗ trợ của AI từ YOLO, Segment Anything (SAM+SAM2/2.1+SAM3), MobileSAM!!
giấy phép:mit, size_categories:100K<n<1M, định dạng:JSON, phương thức:văn bản
task_categories:trả lời câu hỏi, task_categories:tóm tắt, ngôn ngữ:en, giấy phép:cc-by-sa-3.0
size_categories:1M<n<10M, định dạng:sàn gỗ, phương thức:văn bản, thư viện:bộ dữ liệu
Hướng dẫn