Tôi đang làm việc để cải thiện trình phân loại được giám sát hiện có, để phân loại các chuỗi {protein} có thuộc về một lớp cụ thể (tiền chất hormone Neuropeptide) hay không.
Có khoảng 1.150 "tích cực" được biết đến, dựa trên nền tảng của khoảng 13 triệu chuỗi protein ("Nền không rõ / chú thích kém"), hoặc khoảng 100.000 protein được đánh giá, có liên quan, được chú thích với nhiều tính chất khác nhau (nhưng rất ít được chú thích trong một cách rõ ràng cách "tiêu cực").
Việc triển khai trước đây của tôi đã xem đây là một vấn đề phân loại nhị phân: Tập hợp dương = Protein được đánh dấu là Neuropeptide. Tập âm tính: Lấy mẫu ngẫu nhiên 1.300 mẫu (tổng số) trong số các protein còn lại có phân bố chiều dài gần tương tự nhau.
Điều đó đã có hiệu quả, nhưng tôi muốn cải thiện đáng kể khả năng phân biệt đối xử của máy móc (Hiện tại, nó ở mức khoảng 83-86% về độ chính xác, AUC, F1, được đo bằng CV, trên nhiều bộ âm tính được lấy mẫu ngẫu nhiên).
Suy nghĩ của tôi là: 1) Biến vấn đề này thành đa lớp, chọn 2-3 loại protein khác nhau chắc chắn sẽ là phủ định, bởi tính chất / lớp chức năng của chúng, cùng với (có thể) một bộ được lấy mẫu ngẫu nhiên khác. (Ưu tiên ở đây sẽ là các tập hợp phủ định tương tự về đặc điểm / tính năng của chúng với tập hợp tích cực, trong khi vẫn có các đặc điểm xác định). 2) Học một lớp - Sẽ tốt, nhưng theo tôi hiểu, nó chỉ có nghĩa là phát hiện bất thường, và có hiệu suất kém hơn so với các phương pháp phân biệt đối xử.
*) Tôi đã nghe nói về việc học PU, nghe có vẻ gọn gàng, nhưng tôi là một lập trình N00b và tôi không biết về bất kỳ triển khai nào hiện có cho nó. (Trong Python / sci-kit tìm hiểu).
Vì vậy, cách tiếp cận 1 có ý nghĩa trong một POV lý thuyết? Có cách nào tốt nhất để tạo nhiều bộ âm? (Tôi cũng có thể đơn giản sử dụng một lượng lớn protein "âm tính" [50K], nhưng chúng rất khác nhau, vì vậy tôi không biết bộ phân loại sẽ xử lý chúng như một hỗn hợp lớn, không cân bằng ). Cảm ơn!