1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Thiết kế quy trình Machine Learning bằng Python

Connected

Bài tập

Tổng hợp mọi thứ

Bên cạnh pipeline phát hiện bất thường dựa trên khoảng cách mà bạn đã xây dựng ở bài trước, bạn cũng muốn hỗ trợ cách học dựa trên đặc trưng với one-class SVM. Bạn quyết định trích xuất hai đặc trưng: thứ nhất là độ dài chuỗi; thứ hai là mã hóa số của chữ cái đầu tiên trong chuỗi, thu được bằng hàm LabelEncoder() mô tả ở Chương 1. Để đảm bảo so sánh công bằng, bạn sẽ đưa các điểm outlier vào phép tính AUC. Đã được import sẵn: LabelEncoder(), roc_auc_score() dưới tên auc() và OneClassSVM. Dữ liệu có sẵn dưới dạng pandas data frame tên proteins với hai cột label và seq, và hai lớp IMMUNE SYSTEM và VIRUS. Một bộ phát hiện LoF đã fit sẵn có tên lof_detector.

Hướng dẫn

100 XP
  • Với một chuỗi s, len(s) trả về độ dài của nó. Áp dụng vào cột seq để tạo cột mới len.
  • Với một chuỗi s, list(s) trả về danh sách các ký tự. Dùng cách này để lấy chữ cái đầu tiên của mỗi chuỗi, rồi mã hóa nó bằng LabelEncoder().
  • Điểm LoF nằm trong thuộc tính negative_outlier_factor_. Tính AUC của chúng.
  • Fit một 1-class SVM cho data frame chỉ có hai cột len và first. Trích xuất điểm số và đánh giá cả điểm LoF và điểm SVM bằng AUC.