1. Learn
  2. /
  3. Cursuri
  4. /
  5. Proiectarea fluxurilor de lucru pentru Machine Learning în Python

Connected

exercițiu

Totul laolaltă

Pe lângă pipeline-ul de detectare a anomaliilor bazat pe învățare după distanță, creat în exercițiul anterior, vrei să adaugi și unul bazat pe învățare după caracteristici, folosind un SVM cu o singură clasă. Decizi să extragi două caracteristici: lungimea șirului de caractere și o codificare numerică a primei litere din șir, obținută cu funcția LabelEncoder() descrisă în Capitolul 1. Pentru o comparație corectă, vei introduce scorurile de outlieri într-un calcul AUC. Au fost importate: LabelEncoder(), roc_auc_score() ca auc() și OneClassSVM. Datele sunt disponibile ca un DataFrame pandas numit proteins, cu două coloane, label și seq, și două clase: IMMUNE SYSTEM și VIRUS. Un detector LoF antrenat este disponibil ca lof_detector.

Instrucțiuni

100 XP
  • Pentru un șir de caractere s, len(s) returnează lungimea acestuia. Aplică această funcție pe coloana seq pentru a obține o nouă coloană len.
  • Pentru un șir de caractere s, list(s) returnează o listă cu caracterele sale. Folosește aceasta pentru a extrage prima literă a fiecărei secvențe și codific-o cu LabelEncoder().
  • Scorurile LoF se află în atributul negative_outlier_factor_. Calculează AUC-ul acestora.
  • Antrenează un SVM cu o singură clasă pe un DataFrame care conține doar coloanele len și first. Extrage scorurile și evaluează atât scorurile LoF, cât și scorurile SVM folosind AUC.