Tôi có vấn đề sau:Thuật toán để hoàn thành ma trận dữ liệu bị lỗi
Tôi trích xuất một tập hợp dữ liệu nhưng một phần dữ liệu này không khả dụng hoặc bị thiếu; đối với các mục khác nhau, tôi đã xác định được 10 thông số:
param1 param2 ... param10
Item 1 1220 N/A 1000
Item 2 1300 200 ... 1000
.. ... ...
item N N/A 1000 ... 200
N ~ 1500 and half of the values are complete
Có một logic ẩn trong việc tạo các mục, vì vậy tôi muốn điền vào các giá trị này với giá trị mong đợi tốt nhất có thể.
Ví dụ:
Hãy tưởng tượng bạn có 2 thông số và 3 mặt hàng.
param1 param2
item1 400 200
item2 200 100
item3 100 N/A
Với nội suy tuyến tính, bạn sẽ dễ dàng nhận param2 cho item3 = 50
.
Ý tưởng của tôi:
Như tôi đã có 10 thông số và 1500 giá trị, tôi nghĩ đến việc làm một PCA trên covariance matrix của 750 mặt hàng có đầy đủ (tìm hướng chính của bộ dữ liệu).
PCA sẽ dẫn tôi đến một hướng chính cho các mục của tôi (giá trị eigen lớn nhất) và hướng phụ cho các nhóm phụ của các mục (giá trị riêng nhỏ hơn).
Tôi muốn chiếu các vectơ có tham số bị thiếu theo hướng chính chẳng hạn. để có được giá trị gần đúng của các tham số bị thiếu.
Từ ví dụ đầu tiên của tôi:
param1 param2
item1 400 200
item2 200 100
item3 100 X ?
Toàn bộ ma trận:
param1 param2
item1 400 200
item2 200 100
Hiệp phương sai ma trận:
1 0.5
0.5 1
eigen vector và eigen giá trị:
V1 và l1:
1
1 associatedd to 1.5
V2 và l2:
1
-1 associated to 0.5
kết quả:
Nếu tôi chiếu trên V1 chỉ tôi nhận được X1=100
.
Nếu tôi chiếu trên l1.V1 + l2.V2
Tôi nhận được X1=50
. Điều này là do có một mối tương quan hoàn hảo giữa 2 mục đầu tiên.
Vì vậy, câu hỏi của tôi:
Cho đến nay nó chỉ lý thuyết, tôi đã không áp dụng nó, nhưng trước khi tôi bắt đầu Tôi muốn biết nếu tôi đi đâu đó với điều này.
Tôi có thể làm tốt hơn không? (Tôi thực sự tin là có.) Tôi có thể làm gì nếu tất cả các mục có một tham số bị thiếu? Tôi lấy hướng từ đâu?
Có các thuật toán tốt được biết để điền vào ma trận bị hỏng hay bạn có thể giúp tôi hoàn thành ý tưởng của mình (đề xuất cho tôi đọc hoặc phương pháp tốt) không?
Tôi nghĩ Netflix sử dụng loại thuật toán này để điền vào ma trận điểm phim tự động ví dụ (vấn đề đô la Netflix 1M).
Nếu bạn tin rằng điều này thuộc về một trang web thay đổi hình ảnh khác, vui lòng di chuyển nó.
Bạn nói đúng, vì một vấn đề học máy như vậy có thể là một cách tiếp cận tốt. Tôi sẽ thử weka. Cám ơn –