1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 설계하는 Machine Learning 워크플로

Connected

연습 문제

모두 종합해 보기

이전 연습 문제에서 만든 거리 기반 학습 이상치 탐지 파이프라인에 더해, 이번에는 one-class SVM을 사용한 특성 기반 학습도 지원하려고 합니다. 두 가지 특성을 추출하겠습니다. 첫째, 문자열 길이, 둘째, 문자열의 첫 글자를 Chapter 1에서 소개한 LabelEncoder() 함수로 숫자 인코딩한 값입니다. 공정한 비교를 위해 이상치 점수를 AUC로 평가할 예정이에요. 다음이 이미 import되어 있습니다: LabelEncoder(), roc_auc_score()는 auc()로, 그리고 OneClassSVM. 데이터는 proteins라는 pandas 데이터 프레임으로 제공되며 label과 seq 두 열과 IMMUNE SYSTEM, VIRUS 두 클래스가 있습니다. 학습된 LoF 감지기는 lof_detector로 제공됩니다.

지침

100 XP
  • 문자열 s에 대해 len(s)는 길이를 반환합니다. 이를 seq 열에 적용해 새 열 len을 만드세요.
  • 문자열 s에 대해 list(s)는 문자 목록을 반환합니다. 이를 사용해 각 시퀀스의 첫 글자를 추출하고, LabelEncoder()로 인코딩하세요.
  • LoF 점수는 negative_outlier_factor_ 속성에 있습니다. 해당 점수의 AUC를 계산하세요.
  • len과 first 두 열만 가진 데이터 프레임에 1-class SVM을 학습하세요. 점수를 추출하고, LoF 점수와 SVM 점수를 모두 AUC로 평가하세요.