Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- todo project
- spring boot
- 파이써닉코드
- self
- 코딩테스트
- 함수
- EC2
- 람다함수
- Jar배포
- 행렬곱
- mock server
- 집계함수
- cerbot
- sqlalchemy
- PYTHON
- RDS
- 컴프리헨션
- API
- 토이프로젝트
- 클래스
- Django
- Postman
- 프로그래머스
- 파이썬
- Comprehension
- 백엔드 인턴십
- numpy
- yaml
- 조건연산
- 프리온보딩
Archives
- Today
- Total
build my life
[Python] Numpy (3) Random 함수 본문
728x90
오늘은 랜덤함수 종류에 대해서 알아보쟛
rand 함수
- 0 ~ 1 사이에 랜덤값을 반환하는 함수
- n : 값 or shape 대로 랜덤값을 반환해줌
np.random.rand(n)
#예시
np.random.rand()
# 0.6232971766534624
#예시2
np.random.rand(3)
# array([0.90996069, 0.55600572, 0.97184007])
#예시3
np.random.rand(3,3,4)
# array([[[0.69694421, 0.67169397, 0.00789951, 0.80181607],
# [0.06199847, 0.13240264, 0.80887709, 0.68226835],
# [0.59328037, 0.95297096, 0.92581903, 0.2461593 ]],
# [[0.4793652 , 0.44817813, 0.06586831, 0.75956279],
# [0.51643366, 0.07815942, 0.47496639, 0.75320758],
# [0.15512409, 0.18343138, 0.30979191, 0.98583079]],
# [[0.31409368, 0.36831673, 0.81049949, 0.82383243],
# [0.71842362, 0.2525071 , 0.62835098, 0.59512734],
# [0.96963158, 0.91894389, 0.70847156, 0.32322779]]])
randn 함수
- 평균이 0이고 분산이 1인 정규분포 형태의 랜덤값을 반환!
arr = np.random.randn(10000)
arr
# array([ 0.49671415, -0.1382643 , 0.64768854, ..., -0.70531672,
# 0.49576557, 0.64438845])
#분산, 평균 확인
arr.var(), arr.mean()
# (1.0068360554106486, -0.0021359833684262055)
=> randn을 이용해 10000개의 랜덤값이 들어있는 배열을 생성한다.
=> 그 다음, 분산과 평균을 확인해보면 분산은 1에 가깝고 평균은 0에 가까운 것을 확인할 수 있다.
randint 함수
- 특정 범위에 있는 정수 값을 랜덤으로 반환한다!
np.random.randint(n1, n2, n3)
# n1 : start
# n2 : end - 1
# n3 : 배열의 크기(shape)
=> n1 ~ n2-1 사이에 있는 값들 중 n3만큼 반환한다라는 의미
shuffle 함수
- 반환 값이 없고 배열 자체를 섞어주는 함수
- (주의!) 원본이 손상되기 때문에 무조건 copy 한 후 사용할 것!
np.random.shuffle(arr_copy)
choice 함수
- 지정 범위 내에서 지정한 개수 만큼 랜덤하게 선택해서 추출하는 함수
np.random.choice(5,3) # 0~4 사이의 값 중 3개의 값을 랜덤하게 추출
np.random.choice(5,3, replace = False) # 중복된 값이 나오지 않는 옵션
np.random.choice(5,3, p=[0.2,0.2,0.2,0.2,0.2]) # 0~4 숫자의 나올 확률을 설정할 수도 있다!
=> replace 옵션은 중복값이 가능/불가능 선택한다.
=> p 옵션은 지정 숫자가 나올 확률을 설정한다.
numpy.... 수치 연산을 빠르게 하는 라이브러리라서 그런지 너무 공부할게 많드아하아악....
오늘은 차원의 축의 개념과 랜덤함수에 대해서 공부했는데 머리가 터.질.것.같.다
차원 수가 커질 수록 이해 못하는 내 머...리....
머신러닝/ 딥러닝 수업을 위해 데이터 전처리 과정 기초를 배우고 있지만 점점 갈 수록 걱정이 태산이다..!
그래도 열심히 복습해서... 내껄로 만들어버려야지 아자아자...
다음은 axis(축), 차원에 대해서 더 공부해보쟈
728x90
'Python' 카테고리의 다른 글
[Python] Numpy (4) axis 이해 / 배열 차원 변경 / 배열 합치기 (0) | 2022.08.31 |
---|---|
[Python] Numpy (2) 집계함수/조건연산 (0) | 2022.08.30 |
[Python] Numpy (1) (0) | 2022.08.29 |
[Python] DB 연결 / 테이블 생성 / 데이터 추가 (SQLAlchemy 사용) (4) | 2022.08.24 |
[Python] DB 연결 / 테이블 생성 / 데이터 추가 (pymysql 사용) (0) | 2022.08.23 |