Tôi có một loạt dữ liệu thử nghiệm hồi quy. Mỗi thử nghiệm chỉ là một danh sách các thông điệp (mảng kết hợp), ánh xạ các tên trường thông báo tới các giá trị. Có rất nhiều sự lặp lại trong dữ liệu này.cách xác định tập hợp tham số tối thiểu mô tả tập dữ liệu
Ví dụ
test1 = [
{ sender => 'client', msg => '123', arg => '900', foo => 'bar', ... },
{ sender => 'server', msg => '456', arg => '800', foo => 'bar', ... },
{ sender => 'client', msg => '789', arg => '900', foo => 'bar', ... },
]
tôi muốn đại diện cho dữ liệu thực địa (như một cây quyết định tối thiểu sâu?) Để mỗi tin nhắn có thể được tái sinh programatically sử dụng một số lượng tối thiểu của các thông số. Ví dụ, ở trên
- foo luôn là 'bar', vì vậy tôi không cần phải đề cập đến nó
- gửi và khách hàng có tương quan, vì vậy tôi chỉ cần đề cập đến một hay khác
- và msg là khác nhau mỗi lần
Vì vậy, tôi muốn để có thể tái tạo những thông điệp này với một chương trình dọc theo dòng của
write_msg('client', '123')
write_msg('server', '456')
write_msg('client', '789')
trong đó hàm write_msg sẽ bao gồm lồng nhau nếu câu lệnh hoặc hàm subfunction sử dụng các tham số.
Dựa trên dữ liệu ban đầu của tôi, làm cách nào tôi có thể xác định các tham số 'quan trọng nhất', tức là các thông số sẽ cho phép tôi tạo lại tập dữ liệu bằng số đối số nhỏ nhất?
Hmm. Tôi rất vui khi thấy vấn đề này thực sự là khó khăn, và tôi đã không được flailing xung quanh không có lý do. Cảm ơn bạn đã thu thập các tham chiếu đó. – Eric