데이터

제로베이스 데이터사이언스 스쿨 - Part 03. 기초 수학-14

Leah (리아) 2025. 11. 1. 18:20
반응형

 Chapter 01. 기초 수학

 

확률 (Probability) -‘일어날 가능성’을 계산하다

 

 

1. 확률의 기본 개념

확률은 모든 가능한 결과 중에서 특정 사건이 일어날 수 있는 비율을 나타낸다.

예시모든 경우의 수특정 사건확률
예시 모든 경우의 수  특정 사건 확률
동전 던지기 앞 / 뒤 → 2가지 ‘앞면’ 1/2
주사위 던지기 1~6 → 6가지 ‘3이 나올 확률’ 1/6

이때,

  • 모든 가능한 결과의 집합 → 표본공간(Sample Space)
  • 그중 특정한 결과의 집합 → 사건(Event)

💡 확률은 항상 0 ≤ P(A) ≤ 1 사이의 값이며,
전체 사건의 확률 합은 항상 1이다.


2. 확률과 조합의 관계

확률은 조합을 이용해 더 복잡한 선택 문제를 해결할 수 있다.
즉, 조합으로 경우의 수를 세고, 그 비율을 통해 확률을 구하는 방식이다.

 

- 예시 ① 뽑기 문제

박스에 ‘꽝’ 종이 4장, ‘선물’ 종이 3장이 들어 있다.
이 중 3장을 뽑을 때 다음의 경우를 구해보자 👇

경우 조합식 계산 확률
꽝 0, 선물 3 (4C0 × 3C3) / 35 1 / 35 1/35
꽝 1, 선물 2 (4C1 × 3C2) / 35 (4×3)/35 = 12/35 12/35
꽝 2, 선물 1 (4C2 × 3C1) / 35 (6×3)/35 = 18/35 18/35
꽝 3, 선물 0 (4C3 × 3C0) / 35 4 / 35 4/35

💡 전체 경우의 수 = 7C3 = 35

이때 “꽝 2장 + 선물 1장”의 확률은


3. 응용 예시 - 조건 바꾸기

29_확률

이번엔 ‘꽝’이 5장, ‘선물’이 2장일 때 3장을 뽑는 경우를 계산해보자.

경우 조합식 계산 확률
꽝 3, 선물 0 (5C3 × 2C0) / 35 10 / 35 10/35
꽝 2, 선물 1 (5C2 × 2C1) / 35 20 / 35 20/35
꽝 1, 선물 2 (5C1 × 2C2) / 35 5 / 35 5/35

💡 조건이 바뀌면, 조합식의 분자 구조만 변하고
전체 경우의 수(7C3)는 그대로 유지된다.


4. 파이썬으로 확률 계산하기

파이썬에서는 math.comb() 함수를 이용해 조합을 계산할 수 있다.
다음은 “꽝 2장 + 선물 1장”을 뽑을 확률을 구하는 예제다👇

 
import math

# 전체 경우의 수
total = math.comb(7, 3)

# 꽝 2, 선물 1의 경우의 수
fail = math.comb(4, 2)
gift = math.comb(3, 1)

prob = (fail * gift) / total
print(f"확률: {prob:.3f} ({prob*100:.1f}%)")

 

출력 결과:

확률: 0.514 (51.4%)

💡 math.comb(n, r) 은 “n개 중 r개를 선택하는 조합 수”를 자동 계산해준다.


추가 실습: 다양한 확률 계산

import math

# 5꽝 2선물, 3장을 뽑을 때
total = math.comb(7, 3)

# (꽝 2, 선물 1)
case_1 = math.comb(5, 2) * math.comb(2, 1)

# (꽝 1, 선물 2)
case_2 = math.comb(5, 1) * math.comb(2, 2)

print(f"꽝2,선물1 확률: {case_1/total:.3f}")
print(f"꽝1,선물2 확률: {case_2/total:.3f}")

 

출력 결과:

꽝2,선물1 확률: 0.571
꽝1,선물2 확률: 0.143

 

 

* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.


 

💡 생각 정리

이번 강의에서는 확률의 기본 개념이 조합과 연결되는 구조를 명확히 이해할 수 있었다.
특히 ‘뽑기 문제’처럼 복잡해 보이는 확률도,“조합을 이용해 경우의 수를 세면 간단하게 풀린다”는 점이 인상 깊었다.

또한 파이썬 코드로 직접 조합과 확률을 계산해보면서, 이론적인 수학 개념이 실제 데이터 분석이나 시뮬레이션에 바로 적용될 수 있다는 점을 체감했다.


🚀 적용점

  • 프로그래밍 활용
    • math.comb()를 이용한 확률/조합 문제 자동 계산
    • 여러 조건 조합의 확률을 비교하여 시각화 가능 (matplotlib 등)
  • 수학적 응용
    • 확률 = (성공 경우의 수) / (전체 경우의 수) 원리를 문제 유형별로 익히기
    • 조합과 확률을 결합하여 조건부 확률, 베이즈 정리 학습으로 확장
  • 데이터 분석 실전 응용
    • 추출 확률 계산, 샘플링, 통계적 가설 검정의 기초로 활용 가능

👉 이번 강의는 “확률”의 개념을 직관적으로 이해하고,
이를 조합과 코드로 직접 계산하는 실무형 수학 사고력을 기르는 단계였다.

반응형