난수
Coddy Machine Learning 여정의 데이터와 시각화 섹션에 포함된 레슨. 60개 중 18번째.
시뮬레이션, 섞은 데이터, 학습되지 않은 모델은 모두 난수에서 시작합니다. 이렇게 만들어 낸 키 1,000개는 한 줄로 만들었습니다:
NumPy는 시드로 시작되는 생성기에서 난수를 추출합니다:
rng = np.random.default_rng(42)
heights = rng.normal(170, 10, size=1000)
print(np.round(heights[:4], 1))
print(rng.integers(1, 7, size=5))
print(np.round(rng.random(3), 2))다음과 같이 출력됩니다:
[173. 159.6 177.5 179.4]
[2 4 3 3 5]
[0.44 0.13 0.09]normal(mean, std, size)는 평균 주변에 값이 모입니다. integers는 range처럼 stop 값을 제외합니다. random은 0부터 1까지의 소수를 반환합니다.
같은 시드는 어떤 컴퓨터에서든 같은 숫자를 생성하므로 누구나 실험을 반복할 수 있습니다. 숫자를 뽑을 때마다 생성기의 상태가 다음으로 이동합니다.
챌린지
쉬움상점은 재실행 시 반복해야 하는 한 주를 시뮬레이션합니다.
- 시드로
rng_a를 만들고 고객 수를 7개 뽑으세요(20부터 60까지 포함). 그런 다음 정규분포를 따르는 지출액을 7개 뽑으세요: 평균 15, 표준편차 4. - 같은 시드를 사용하는
rng_b와 시드에 1을 더한 값을 사용하는rng_c에서 고객 수를 다시 뽑으세요. - 아래와 같이 출력하세요. 지출액은 소수점 1자리까지 출력하고, b와 c가 a와 일치하는 날짜 수를 출력하세요.
시드가 12일 때:
Customers: [45 30 59 58 22 27 28]
Spend: [21.5 10.2 12.5 9.7 14.6 19. 14.9]
Same seed, days that match: 7
Seed + 1, days that match: 1직접 해보기
import numpy as np
seed = int(input())
# 아래에 코드를 작성하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
데이터와 시각화의 모든 레슨
직접 연습해 보세요: 온라인 Python 컴파일러