본문으로 바로가기

[Numpy] random 서브 모듈 함수 이용

category AI/데이터분석 2020. 1. 18. 19:35
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

 

 

 

 

 

np.random 서브 모듈안에는 엄청 많은 함수들이 존재함.

 

 


 

rand

np.random.rand(d0, d1, ..., dn)

0과 1 사이의 분포로 랜덤한 ndarray 생성.

print(np.random.rand(2,5))

 

 

 

randn

n : normal distribution (정규분포)

정규분포로 샘플링된 랜덤 ndarray 생성

print(np.random.randn(2,5))

 

 

 


randint

randint(low, high=None, size=None, dtype='l')

low와 high 정수 사이에서 size에 맞는 형태로 랜덤하게 샘플링해줌. (high는 포함 x)

 

size를 주지않으면 단 하나의 정수만 뽑아줌.

 

low, high 두 값을 명시하지 않고 하나의 값만 넘겨주면

그 숫자 아래에 있는 정수들 중에서 랜덤 샘플링을 진행함.

 

print(np.random.randint(1, 10, size=(2,5)))
print(np.random.randint(1, 10))
print(np.random.randint(10, size=(5,)))

 

 

 


seed

랜덤한 값을 동일하게 다시 얻고 싶을 때 사용함.

np.random.seed(1)
print(np.random.randn(3,4))

 

 

 


choice

choice(a, size=None, replace=True, p=None)

주어진 1차원 ndarray로부터 랜덤하게 샘플링.

정수가 주어진 경우, np.arange(해당 정수)로 간주.

 

샘플링 시 중복 여부는 replace 를 이용하면 됨.

replace=False인 경우는 중복을 허용하지 않음.

print(np.random.choice(100, size=(3,4)))
a = np.array([1,2,3,7,8,9])
print(np.random.choice(a, size=(2,2)))
print(np.random.choice(a, size=(2,2), replace=False))

 

 


확률분포에 따른 ndarray 생성

uniform

normal

...

 

print(np.random.uniform(1.0, 3.0, size=(2,5)))
print(np.random.normal(size=(3,4)))

 

 

 

 

 

 

위 내용은 fastcampus 강의 내용을 요약한 것입니다.