MulaiMulai sekarang secara gratis

Meninjau kembali contamination

Anda memperhatikan bahwa one-class SVM tidak memiliki parameter contamination. Namun, kini Anda tahu bahwa Anda benar-benar memerlukan cara untuk mengendalikan proporsi contoh yang dilabeli sebagai kebaruan agar dapat mengendalikan tingkat positif palsu. Karena itu, Anda memutuskan untuk bereksperimen dengan memberi ambang pada skor. Detektor telah diimpor sebagai onesvm, Anda juga memiliki data X_train, X_test, y_train, y_test, numpy sebagai np, dan confusion_matrix().

Latihan ini adalah bagian dari kursus

Merancang Alur Kerja Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Latih 1-class SVM dan beri skor pada data uji.
  • Hitung proporsi outlier yang teramati pada data uji.
  • Gunakan np.quantile() untuk menemukan titik ambang skor guna mencapai proporsi tersebut.
  • Gunakan ambang itu untuk memberi label pada data uji. Cetak confusion matrix.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Fit a one-class SVM detector and score the test data
nov_det = ____(X_train)
scores = ____(X_test)

# Find the observed proportion of outliers in the test data
prop = np.____(y_test==____)

# Compute the appropriate threshold
threshold = np.____(____, ____)

# Print the confusion matrix for the thresholded scores
print(confusion_matrix(y_test, ____ > ____))
Edit dan Jalankan Kode