MulaiMulai sekarang secara gratis

Levenshtein Terbatas

Anda melihat bahwa paket stringdist juga mengimplementasikan variasi jarak Levenshtein yang disebut Restricted Damerau-Levenshtein distance, dan Anda ingin mencobanya. Anda akan mengikuti logika dari pelajaran, membungkusnya dalam sebuah fungsi kustom dan menghitung terlebih dahulu matriks jarak sebelum memasangkan pendeteksi anomali local outlier factor. Anda akan mengukur kinerja dengan accuracy_score() yang tersedia sebagai accuracy(). Anda juga memiliki akses ke paket stringdist, numpy sebagai np, pdist() dan squareform() dari scipy.spatial.distance, serta LocalOutlierFactor sebagai lof. Data telah dimuat sebelumnya sebagai dataframe pandas dengan dua kolom, label dan sequence, dan memiliki dua kelas: IMMUNE SYSTEM dan VIRUS.

Latihan ini adalah bagian dari kursus

Merancang Alur Kerja Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Tulis sebuah fungsi dengan masukan u dan v, yang masing-masing merupakan array yang berisi sebuah string, dan menerapkan fungsi rdlevenshtein() pada kedua string tersebut.
  • Bentuk ulang kolom sequence dari proteins dengan terlebih dahulu mengonversinya menjadi array numpy, lalu gunakan .reshape().
  • Hitung matriks jarak berbentuk persegi untuk sequences menggunakan my_rdlevenshtein(), dan latih lof di atasnya.
  • Hitung akurasi dengan mengonversi preds dan proteins['label'] menjadi nilai boolean yang menunjukkan apakah suatu protein adalah virus.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Wrap the RD-Levenshtein metric in a custom function
def my_rdlevenshtein(u, v):
    return ____.rdlevenshtein(____, ____)

# Reshape the array into a numpy matrix
sequences = ____(proteins['seq']).____(-1, 1)

# Compute the pairwise distance matrix in square form
M = ____

# Run a LoF algorithm on the precomputed distance matrix
preds = lof(metric=____).____(M)

# Compute the accuracy of the outlier predictions
print(accuracy(____, ____))
Edit dan Jalankan Kode