본문 바로가기
파이썬/파이썬기본문법

파이선 numpy 랜덤 데이터 분포

by flycoding 2023. 12. 19.
반응형

데이터 분포란 무엇인가?(Data Distribution)

데이터 분포는 가능한 모든 값과 각 값이 얼마나 자주 발생하는지에 대한 목록이다.
이러한 목록은 통계 및 데이터 과학 관련 작업을 수행할 때 중요하다.
랜덤 모듈은 랜덤하게 생성된 데이터 분포를 반환하는 방법을 제공한다.

 

파이썬 numpy 랜덤 분포

난수 분포는 특정 확률 밀도 함수를 따르는 난수의 집합이다.
확률 밀도 함수(Probability Density Function): 연속적인 확률, 즉 배열의 모든 값의 확률을 설명하는 함수이다.
랜덤 모듈의 선택() 방법을 사용하여 정의된 확률에 따라 난수를 생성할 수 있다.
choice () 방법을 사용하면 각 값에 대한 확률을 지정할 수 있다.

확률은 0과 1 사이의 숫자로 설정되며, 여기서 0은 값이 발생하지 않음을 의미하고 1은 값이 항상 발생함을 의미한다.

 

100개의 값이 포함된 1-D 배열을 생성한다. 여기서 각 값은 3, 5, 7 또는 9여야 한다.
값이 3일 확률은 0.1로 설정된다
값이 5일 확률이 0.3으로 설정된다
값이 7일 확률이 0.6으로 설정된다
값이 9일 확률이 0으로 설정된다

from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(100))

print('x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(100)) : \n',x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 랜더 데이터 분포 choice() 활용 예제

 

모든 확률 숫자의 합은 1이어야 한다.

예제를 100번 이상 실행해도 값 9는 발생하지 않는다.
크기 매개변수에서 모양을 지정하여 모양과 크기에 상관없이 배열을 반환할 수 있다.

위와 동일한 예제이지만 각 행에 5개의 값이 포함된 3개의 행이 있는 2-D 배열을 반환한다.

from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(3, 5))

print('x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(3, 5)) : \n',x)

위의 코드를 실행하면 아래 그림과 같다.

파이썬 numpy 랜더 데이터 분포 choice() - 2차원 배열 활용 예제

 

이번 글에서는 파이선 numpy 모듈에서 랜덤 데이터 분포에 대해서 살펴보았다.

random 모듈에서 choice() 메소를 활용하여 1차원, 2차원 배열로 랜덤 분포를 실습해보았다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

'파이썬 > 파이썬기본문법' 카테고리의 다른 글

파이썬 numpy seaborn  (0) 2023.12.21
파이썬 numpy 랜덤 수열  (0) 2023.12.20
파이썬 numpy random numbers  (0) 2023.12.18
파이썬 numpy 배열 필터  (0) 2023.12.17
파이썬 numpy 배열 정렬  (0) 2023.12.16

댓글