Začněte nyníZačněte zdarma

Kontaminace podruhé

Všimneš si, že jednoklasový SVM nemá parametr contamination. Teď už ale dobře víš, že potřebuješ způsob, jak řídit podíl příkladů označených jako novinky, aby sis udržel/a kontrolu nad mírou falešně pozitivních výsledků. Rozhodneš se proto experimentovat s prahováním skóre. Detektor byl importován jako onesvm, k dispozici máš také data X_train, X_test, y_train, y_test, numpy jako np a funkci confusion_matrix().

Toto cvičení je součástí kurzu

Designing Machine Learning Workflows in Python

Zobrazit kurz

Pokyny k cvičení

  • Natrénuj jednoklasový SVM a ohodnoť testovací data.
  • Vypočítej pozorovaný podíl odlehlých hodnot v testovacích datech.
  • Pomocí np.quantile() zjisti, kde nastavit práh skóre tak, aby odpovídal tomuto podílu.
  • Použij tento práh k označení testovacích dat. Vypiš matici záměn.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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, ____ > ____))
Upravit a spustit kód