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

Levenshtein bị giới hạn

Bạn nhận thấy gói stringdist cũng triển khai một biến thể của khoảng cách Levenshtein gọi là Restricted Damerau-Levenshtein, và muốn thử nghiệm nó. Bạn sẽ làm theo logic trong bài học: bọc nó trong một hàm tùy chỉnh và tính trước ma trận khoảng cách trước khi huấn luyện bộ dò bất thường Local Outlier Factor. Bạn sẽ đo hiệu năng bằng accuracy_score() (đã có sẵn dưới tên accuracy()). Bạn cũng có quyền dùng các gói stringdist, numpy với bí danh np, pdist() và squareform() từ scipy.spatial.distance, và LocalOutlierFactor với bí danh lof. Dữ liệu đã được nạp sẵn dưới dạng pandas dataframe với hai cột label và sequence, và có hai lớp: IMMUNE SYSTEM và VIRUS.

Hướng dẫn

100 XP
  • Viết một hàm nhận đầu vào u và v, mỗi đầu vào là một mảng chứa một chuỗi, và áp dụng hàm rdlevenshtein() lên hai chuỗi đó.
  • Chuyển đổi hình dạng cột sequence từ proteins bằng cách ép nó thành mảng numpy, rồi dùng .reshape().
  • Tính ma trận khoảng cách vuông cho sequences bằng my_rdlevenshtein(), và huấn luyện lof trên ma trận đó.
  • Tính accuracy bằng cách chuyển preds và proteins['label'] sang kiểu boolean thể hiện một protein có phải virus hay không.