Kısıtlı Levenshtein
stringdist paketinin, Kısıtlı Damerau-Levenshtein uzaklığı olarak adlandırılan Levenshtein uzaklığının bir varyasyonunu da sunduğunu fark ediyorsun ve denemek istiyorsun. Dersteki mantığı takip ederek bunu özel bir fonksiyonun içine saracak ve yerel aykırı değer faktörü anomali algılayıcısını eğitmeden önce uzaklık matrisini önceden hesaplayacaksın. Performansı accuracy() olarak sana sunulan accuracy_score() ile ölçeceksin. Ayrıca stringdist, numpy (np olarak), scipy.spatial.distance içinden pdist() ve squareform(), ve LocalOutlierFactor (lof olarak) paketlerine erişimin var. Veri, iki sütunu (label ve sequence) olan bir pandas veri çerçevesi olarak önceden yüklendi ve iki sınıf içeriyor: IMMUNE SYSTEM ve VIRUS.
Bu egzersiz
Python'da Machine Learning İş Akışları Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
- Her biri birer dize içeren birer dizi olan
uvevgirdilerini alan ve iki dize üzerinderdlevenshtein()fonksiyonunu uygulayan bir fonksiyon yaz. proteinsiçindekisequencesütununu önce birnumpydizisine dönüştürerek, ardından.reshape()kullanarak yeniden şekillendir.sequencesiçinmy_rdlevenshtein()kullanarak kare bir uzaklık matrisi hesapla ve bunun üzerindelofmodelini eğit.- Doğruluğu, bir proteinin virüs olup olmadığını belirten boole değerlere dönüştürülmüş
predsveproteins['label']üzerinden hesapla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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(____, ____))