BaşlayınÜcretsiz Başlayın

Hepsini bir araya getirme

Son egzersizde oluşturduğun mesafe tabanlı öğrenme anomali tespiti iş akışına ek olarak, tek sınıflı SVM ile özellik tabanlı öğrenmeyi de desteklemek istiyorsun. İki özellik çıkarmaya karar verdin: birincisi, dizgenin uzunluğu; ikincisi ise, 1. bölümde anlatılan LabelEncoder() fonksiyonunu kullanarak elde edilen dizgenin ilk harfinin sayısal kodlaması. Adil bir karşılaştırma için, aykırı değer skorlarını bir AUC hesaplamasına girdi olarak vereceksin. Aşağıdakiler içe aktarıldı: LabelEncoder(), roc_auc_score() için auc() takma adı ve OneClassSVM. Veri, iki sütunu (label ve seq) ve iki sınıfı (IMMUNE SYSTEM ve VIRUS) olan proteins adlı bir pandas veri çerçevesi olarak mevcut. Ayrıca lof_detector adıyla eğitilmiş bir LoF dedektörü mevcut.

Bu egzersiz

Python'da Machine Learning İş Akışları Tasarlama

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Bir dizge s için len(s) uzunluğunu döndürür. seq sütununa uygula ve len adlı yeni bir sütun elde et.
  • Bir dizge s için list(s), karakterlerinin bir listesini döndürür. Bunu kullanarak her dizinin ilk harfini çıkar ve LabelEncoder() ile kodla.
  • LoF skorları negative_outlier_factor_ özniteliğindedir. Bunların AUC'sini hesapla.
  • Yalnızca len ve first sütunlarını içeren bir veri çerçevesine 1-sınıf SVM uygula. Skorları çıkar ve hem LoF skorlarını hem de SVM skorlarını AUC ile değerlendir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create a feature that contains the length of the string
proteins['len'] = proteins['seq'].apply(____)

# Create a feature encoding the first letter of the string
proteins['first'] =  ____.____(
  proteins['seq'].apply(____))

# Extract scores from the fitted LoF object, compute its AUC
scores_lof = lof_detector.____
print(____(proteins['label']==____, scores_lof))

# Fit a 1-class SVM, extract its scores, and compute its AUC
svm = ____.____(proteins[['len', 'first']])
scores_svm = svm.____(proteins[['len', 'first']])
print(____(proteins['label']==____, scores_svm))
Kodu Düzenle ve Çalıştır