1. Learn
  2. /
  3. Курси
  4. /
  5. Проєктування робочих процесів машинного навчання в Python

Connected

Вправа

Обмежена відстань Левенштейна

Ви помічаєте, що пакет stringdist також реалізує варіацію відстані Левенштейна — обмежену відстань Дамерау — Левенштейна (Restricted Damerau-Levenshtein), і хочете її спробувати. Ви повторите підхід з уроку: обгорнете виклик у власну функцію та попередньо обчислите матрицю відстаней перед навчанням детектора аномалій Local Outlier Factor. Ви виміряєте якість за допомогою accuracy_score(), яка доступна вам як accuracy(). Також у вас є доступ до пакетів stringdist, numpy як np, pdist() і squareform() зі scipy.spatial.distance, і LocalOutlierFactor як lof. Дані попередньо завантажено як датафрейм pandas з двома стовпцями — label і sequence, — і двома класами: IMMUNE SYSTEM та VIRUS.

Інструкції

100 XP
  • Напишіть функцію з вхідними параметрами u та v, кожен з яких є масивом, що містить рядок, і застосовує rdlevenshtein() до цих двох рядків.
  • Зміни́ть форму стовпця sequence з proteins, спочатку перетворивши його на масив numpy, а потім використайте .reshape().
  • Обчисліть квадратну матрицю відстаней для sequences, використовуючи my_rdlevenshtein(), і навчіть на ній lof.
  • Обчисліть accuracy, перетворивши preds і proteins['label'] на булеві значення, що вказують, чи є білок вірусом.