현재 위치 - 주공해몽공식사이트 - 랜덤 번호 뽑기 점술 - 파이썬을 사용하여 난수를 생성하는 몇 가지 방법

파이썬을 사용하여 난수를 생성하는 몇 가지 방법

1 주어진 매개변수의 정규 분포를 기준으로 난수를 생성합니다.

정규 분포에서 난수 생성을 고려할 때 먼저 정규 분포의 평균과 분산 (표준 편차) 을 알아야 합니다. 이를 통해 파이썬의 기존 모듈과 함수를 호출하여 난수를 생성할 수 있습니다. Numpy 모듈에서 random.normal 함수를 호출합니다. 비패라메트릭 논리가 간단하기 때문에 직접 붙여넣은 모든 코드는 다음과 같습니다.

Import numpy as np# 정의 함수 defget _ normal _ random _ number (loc, Scale): "":paramloc: 정규 분포의 평균: paramscale: 정규 분포의 표준 편차: return: 정규 분포에서 생성된 난수 ""# 정규 분포에서 생성된 난수 = np.random " Scale = scale) # 반환 값 number # 주 모듈 if _ _ name _ _ = "_ _ main _ _": # 함수 호출 n = get _ normal \

주어진 매개 변수의 균일 한 분포에서 난수를 얻는 함수

균일 분포에서 난수를 가져오는 것을 고려할 때 균일 분포의 상한과 하한을 미리 알고 Numpy 모듈의 random.uniform 함수를 호출하여 난수를 생성해야 합니다.

Import numpy as np# 정의 함수 defget _ uniform _ random _ number (low, High): "":paramlow: 균일 분포의 하한: paramhigh: 균일 분포의 상한: return: 균일 분포로 생성된 난수 ""# 균일 분포로 생성된 난수 = np.random; High)# 반환 값 number # 주 모듈 if _ _ name _ _ = "_ _ main _ _": # 함수 호출 n = get _ uniform _ random

3 지정된 확률에 따라 난수를 생성합니다.

때때로 우리는 상자에 있는 각 색깔의 공의 비율을 알고 다음에 꺼내야 할 공의 색깔을 추측하는 것과 같이 지정된 확률에 따라 난수를 생성해야 할 때가 있다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 스포츠명언) 여기에 설명된 문제는 위의 예와 유사하며, 목록에 해당하는 숫자 목록이나 간격 목록에서 난수를 생성하는 확률 목록을 제공해야 합니다. 두 부분으로 나누어 토론하다.

3. 1 지정된 확률에 따라 번호 목록에서 무작위로 번호를 추출합니다.

주어진 숫자 목록과 해당 확률 목록을 가정해 보겠습니다. 두 목록의 해당 위치에 있는 요소로 구성된 튜플은 해당 수가 숫자 목록에 나타날 가능성이 얼마나 큰지 나타냅니다. 이러한 알려진 조건에 따라 숫자 목록에서 난수를 추출하는 방법은 무엇입니까? 여기서는 균일 분포를 사용하여 확률을 시뮬레이션하는 것을 고려합니다. 코드는 다음과 같습니다.

Import numpy as npimport random# 정의 함수 defget _ uniform _ random _ number (low, High): "":paramlow: 균일 분포의 하한: paramhigh: 균일 분포의 상한: return: 균일 분포로 생성된 난수 ""# 균일 분포로 생성된 난수 = np.random; High)# 반환 값 number # 정의 함수 defget _ number _ by _ pro (number _ list, Pro _ list): ":paramnumber _ list: 숫자 목록: parampro _ list: 숫자에 해당하는 확률 목록: return: 확률별로 숫자 목록에서 추출한 숫자" # 1) # 누적 확률 cum _ pro = 0.0 # 반복 가능한 객체를 for number, number _ pro in zip (number _ list, pro) 튜플 목록으로 패키지화합니다

3.2 지정된 확률을 기준으로 간격 목록의 한 간격에서 난수를 생성합니다.

주어진 간격 목록과 해당 확률 목록, 두 목록의 해당 위치에 있는 요소로 구성된 튜플은 한 숫자가 간격에 나타날 확률을 나타냅니다. 이것들을 주면 난수를 어떻게 생성합니까? 여기서 우리는 두 번 균일 분포를 사용하여 목표를 달성했습니다. 코드는 다음과 같습니다.

Import numpy as npimport random# 정의 함수 defget _ uniform _ random _ number (low, High): "":paramlow: 균일 분포의 하한: paramhigh: 균일 분포의 상한: return: 균일 분포로 생성된 난수 ""# 균일 분포로 생성된 난수 = np.random; High)# 반환 값 number # 정의 함수 defget _ number _ by _ pro (number _ list, Pro _ list): ":paramnumber _ list: 숫자 목록: parampro _ list: 숫자에 해당하는 확률 목록: return: 확률별로 숫자 목록에서 추출한 숫자" # 1) # 누적 확률 cum _ pro = 0.0 # 반복 가능한 객체를 for number, number _ pro in zip (number _ list, pro) 튜플 목록으로 패키지화합니다