This lesson is only available in Korean for now.
Lesson 7 of 20

순위로 바꾸기 — 값을 버리고 자리를 얻다

이상치 하나에 결론이 흔들리지 않게

순위로 바꾸기 — 값을 버리고 자리를 얻다
키를 재는 대신 줄을 세웁니다. 거인이 하나 끼어들어도 줄은 그대로입니다.

시그니처를 만들었습니다. 이제 그 값을 그대로 쓰면 될까요? VIPER 는 그러지 않습니다. 값을 순위로 바꿉니다.

왜냐고요? 발현 데이터에는 말도 안 되는 값이 심심찮게 섞입니다. 시료 하나가 오염됐거나, PCR 이 튀었거나, 애초에 그 유전자가 원래 그렇거나. 값을 그대로 쓰면 그런 값 하나가 전체 계산을 끌고 다닙니다.

순위로 바꾸면 그 걱정이 사라집니다. 1등이 2등보다 얼마나 큰지는 잊고, 1등이라는 사실만 남깁니다. 거인이 하나 끼어들어도 줄 서는 순서는 안 바뀝니다.

값을 버리고 자리를 얻는 거래 — 강건함을 얻고 크기 정보를 잃습니다.
Python Runs in your browser

순위를 매기는 두 가지 방식

VIPER 안에서 순위는 두 가지 방식으로 쓰입니다. 10강에서 이 둘이 합쳐집니다.

↕️
부호 있는 순위
가장 내려간 것이 1등,
가장 올라간 것이 꼴등
📏
절대값 순위
방향을 무시하고
가장 많이 변한 것이 1등

앞의 것은 어느 쪽으로 변했는지를 봅니다 (방향성). 뒤의 것은 얼마나 변했는지만 봅니다 (비방향성). "부하들이 위쪽에 몰렸나"와 "부하들이 양 끝에 몰렸나"는 다른 질문이고, VIPER 는 둘 다 봅니다.

🎮 이상치를 던져 보세요

유전자 하나를 골라 값을 아주 크게 만들어 보세요. 왼쪽의 값 막대는 그 하나 때문에 나머지가 전부 납작해지지만, 오른쪽의 순위 막대는 거의 그대로입니다. 이것이 VIPER 가 순위를 쓰는 이유입니다.

값을 흔들며 값 기반 계산과 순위 기반 계산의 차이를 봅니다
Loading…
같은 데이터를 두 가지로 줄 세웁니다. 물어보는 질문이 다르기 때문입니다.
Python Runs in your browser
🤔 Check yourself
VIPER 가 시그니처 값을 순위로 바꿔 쓰는 주된 이유는?
🤔 Check yourself
절대값 순위(방향 무시)가 대답하는 질문은?
🤔 Check yourself
순위 변환의 대가로 옳은 것은?