Python Numpy 강좌 : 제 10강 - 난수

Python Numpy random

Python Numpy 강좌 : 제 10강 - 난수
[ Python-Numpy ] - 윤대희

무작위 선택


import numpy as np

np.random.seed(76923)

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.random.choice(a, 5, replace=False, p=[0, 0, 0, 0, 0.05, 0.05, 0.05, 0.05, 0.8])

print (b)
결과
[9 5 6 7 8]

numpy.random.seed(n)을 이용하여 임의의 시드를 생성할 수 있습니다. 시드 값에 따라 난수와 흡사하지만 항상 같은 결과를 반환합니다.

numpy.random.choice(배열, n, replace=True, p=None)을 이용하여 배열에서 n개의 값을 선택하여 반환할 수 있습니다.

replaceTrue로 사용할 경우, 값이 중복되어 선택되 반환될 수 있습니다. False로 사용할 경우, 값이 중복되지 않습니다.

p를 이용하여 각 데이터가 선택될 확률을 설정할 수 있습니다. p 배열의 길이는 항상 배열의 길이와 같아야합니다.

p값들의 총합은 항상 1이여야 하며, replaceFalse로 사용할 경우, 값이 중복되지 않기 때문에 n개 이상 0의 값과 달라야합니다.



난수 발생


import numpy as np

np.random.seed(76923)

a = np.random.rand(2, 2)
b = np.random.randn(2, 2)
c = np.random.randint(1, 3, (2, 2), dtype=int)

print(a)
print(b)
print(c)
결과
[[0.76367992 0.87641303]
[0.53095238 0.38451373]]
[[-0.15929049 -0.07981017]
[ 1.73777738 -0.47496771]]
[[1 1]
[2 1]]

numpy.random.rand(n, m, ...)을 이용하여 다차원 무작위 배열을 생성할 수 있습니다.

numpy.random.randn(n, m)을 이용하여 표준 정규 분포에서 무작위 배열을 생성할 수 있습니다.

numpy.random.randint(low, high, (n, m), dtype=None)을 이용하여 low ~ high-1 사이의 무작위 (n, m) 크기정수 배열을 반환합니다.


import numpy as np

np.random.seed(76923)

a = np.random.random((2, 3))
b = np.random.sample((2, 3))

print(a)
print(b)
결과
[[0.76367992 0.87641303 0.53095238]
[0.38451373 0.2777934 0.05650517]]
[[0.44143693 0.7142663 0.54434277]
[0.74534435 0.89561778 0.36096285]]

numpy.random.random((n, m))numpy.random.sample((n, m))를 이용하여 0.0 ~ 1.0 사이의 무작위 (n, m) 크기 배열을 반환합니다.



난수 발생


import numpy as np

np.random.seed(76923)

a = np.random.uniform(1, 2, (2, 2))
b = np.random.lognormal(3, 1, (2, 2))
c = np.random.laplace(0, 1, (2, 2))

print(a)
print(b)
print(c)
결과
[[1.76367992 1.87641303]
[1.53095238 1.38451373]]
[[ 17.12791367 18.54480749]
[114.18014024 12.4912986 ]]
[[ 0.09286726 0.67469586]
[ 1.56654873 -0.32583306]]

numpy.random.uniform(low, high, size)를 이용하여 low~high 사이의 균일한 분포의 무작위 배열을 반환합니다.

numpy.random.lognormal(mean, sigma, size)를 이용하여 평균시그마를 대입한 로그 정규 분포의 무작위 배열을 반환합니다.

numpy.random.laplace(loc, scale, size) : μλ를 대입한 라플라스 분포의 무작위 배열을 반환합니다.



Book Image

개정판이 출간됐습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍 (개정판)

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C#과 파이썬용 OpenCV의 데이터 형식과 행렬 및 배열 연산
  • 이미지/동영상/카메라를 활용한 입출력과 결과 저장
  • 전처리 과정과 정보를 탐색하기 위한 이미지 변형
  • 유의미한 정보를 검출하기 위한 이미지 변환
  • 이미지에서 정보를 검출 및 인식
  • 객체 검출을 포함한 모션 추적
  • K-means, KNN, SVM 등의 머신러닝 알고리즘 적용 방법
  • 카페(Caffe), 다크넷(Darknet), 텐서플로 모델을 활용한 딥러닝 모듈 적용 방법
  • Tesseract-OCR과 C# OpenCvSharp4를 활용한 프로젝트
  • 텐서플로와 Python OpenCV4를 활용한 프로젝트
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python Numpy 강좌 : 제 9강 - 차원 확장 및 축소 ⤧  Next post Python Numpy 강좌 : 제 11강 - 병합 및 분할
    Python-Numpy Category