Lesson 7 of 20
깔때기를 직접 만든다 — 단계마다 몇이 남나
Step 3 · 2~6강의 자를 순서대로 이어 붙인다
2강부터 6강까지 자를 하나씩 배웠습니다. 이제 이어 붙입니다.
예측 → 순위 → (IC₅₀) → 실험 근거 → 안전성 셋 → 적용범위 → 5개
이 강에서 직접 만들어 볼 것은 깔때기 함수 하나입니다. 후보 목록을 넣으면 단계마다 몇이 남는지 찍어 줍니다.
깔때기를 함수 하나로 적으면 단계를 껐다 켤 수 있습니다. 그게 이 강의 전부입니다.
Python
Runs in your browser
순서를 바꾸면 무엇이 달라지나
최종 집합은 대개 같습니다. 조건을 전부 만족하는 원소는 순서와 상관없습니다. 달라지는 것은 비용과 중간 숫자입니다.
싼 자를 먼저
순위는 이미 표에 있어 공짜입니다. 29,620 을 1,443 으로 줄이고 나서
1,443개만 웹 도구에 넣습니다
비싼 자를 먼저
VaxiJen·ToxinPred·AllerTOP 에 29,620개를 넣습니다.
같은 답이 나오지만 시간이 스무 배 듭니다
그리고 중간 숫자가 달라집니다. “안전성에서 몇 개가 떨어졌나” 는 앞에 무엇을 놓았는지에 따라 완전히 다른 수가 됩니다. 단계별 숫자를 인용할 때는 순서를 함께 적어야 합니다.
깔때기가 남기는 진짜 산출물 — 숫자의 계보
깔때기를 코드로 적으면 개수만 나오는 게 아닙니다. 계보가 남습니다.
29,620 —(순위 ≤ 1.6)→
1,443 —(근거·안전성·적용범위)→ 5
이 한 줄이 논문에서 가장 인용하기 좋은 문장입니다. 개수만 적으면 “5개를 골랐다” 이지만, 계보를 적으면 무엇을 어떤 기준으로 얼마나 버렸는지가 함께 남습니다.
그리고 계보가 있으면 따져 물을 수 있습니다 — “1.6 말고 1.0 이었으면?”, “assay 를 필터로 썼으면?”. 계보가 없으면 그 물음 자체가 불가능합니다. 20강에서 이 논문의 가장 아픈 약점이 바로 이것이라는 것을 봅니다.
🤔 Check yourself
깔때기에서 싼 자를 먼저 대는 까닭은?
Answer 조건을 전부 만족하는 원소는 순서와 무관합니다. 달라지는 것은 비용입니다. 29,620개를 웹 도구에 넣는 것과 1,443개를 넣는 것은 스무 배 차이입니다.
🤔 Check yourself
“이 단계에서 몇 개가 떨어졌다” 는 숫자를 인용할 때 반드시 함께 적어야 하는 것은?
Answer 같은 필터라도 앞에 무엇이 있었느냐에 따라 떨어지는 개수가 완전히 달라집니다. 단계별 숫자는 순서와 한 몸입니다.
🤔 Check yourself
논문이 적은 “assay 수가 많은 것을 우선한다” 를 코드로 가장 가깝게 옮긴 것은?
Answer “우선한다” 는 정렬이지 필터가 아닙니다. 필터로 옮기면 논문이 하지 않은 결정을 더한 것이 됩니다.