본문 바로가기
Python/python 기초

Numpy array - 3

by winston1214 2020. 1. 7.
반응형

## 배열 생성 및 초기화
난수를 데이터로 가지는 배열을 생성
    - np.random.normal()
    - np.random.rand()
    - np.random.randn()
    - np.random.randint()
    - np.randoml.random()

### np.random.normal(loc=0.0,scale=1.0,size=None)
- 정규 분포 확률 밀도에서 표본을 추출하여 데이터로 가지는 배열 생성
- loc: 정규분포의 평균, 기본값=0.0
- scale: 정규분포의 표준편차, 기본값=1.0
- size:(행,열,차원)배열 구조, 기본값=single value(배열이 아닌 하나의 값을 반환)

np.random.normal() 예시

random이기 때문에 실행 때 마다 값이 달라진다는 것에 유의하자!

data= np.random.normal(10,2,10000)코드를 작성하여 10000개의 10행 2열의 array를 만들었다. 이를 히스토그램으로 시각화 시킨다. 이 때 import matplotlib.pyplot as plt 를 잊지말고 해야한다.

위와 같이 정규분포 형태가 나온다. bins = 1000을 쓰지 않으면 흔히 아는 막대그래프 모양으로 나타나지기 때문에 정규분포 그래프를 선명히 나타내기 위해서 bins = 1000 option을 주었다. 

bins에 대한 설명은 다음과 같다

bins : int or sequence or str, optional

If an integer is given, bins + 1 bin edges are calculated and returned, consistent with numpy.histogram.

If bins is a sequence, gives bin edges, including left edge of first bin and right edge of last bin. In this case, bins is returned unmodified.

All but the last (righthand-most) bin is half-open. In other words, if bins is:

[1, 2, 3, 4]

then the first bin is [1, 2) (including 1, but excluding 2) and the second [2, 3). The last bin, however, is [3, 4], which includes 4.

Unequally spaced bins are supported if bins is a sequence.

With Numpy 1.11 or newer, you can alternatively provide a string describing a binning strategy, such as 'auto', 'sturges', 'fd', 'doane', 'scott', 'rice' or 'sqrt', see numpy.histogram.

The default is taken from rcParams["hist.bins"] = 10.

출처 : https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.hist.html

 

matplotlib.pyplot.hist — Matplotlib 3.1.2 documentation

Parameters: x : (n,) array or sequence of (n,) arrays Input values, this takes either a single array or a sequence of arrays which are not required to be of the same length. bins : int or sequence or str, optional If an integer is given, bins + 1 bin edges

matplotlib.org

### np.random.rand(d0,d1...dn)
- 지정한 shape 에 따라 배열을 생성한 후 난수로 초기화
- 사용되는 난수는 0이상 1미만의 범위에서 균등 분포로 추출

이 또한 10000개의 데이터로 균등분포임을 보이겠다.

### np.random.randn(d0,d1,d2...dn)
- 지정한 shape에 따라 배열을 생성한 후 난수로 초기화
- 난수는 표준정규분포에서 추출된 데이터

자세한 코드는 github.com/winston1214/baseline_ML  -> Star와 팔로우 눌러주시면 감사하겠습니다.

 

winston1214/baseline_ML

ML을 위한 기초 공부. Contribute to winston1214/baseline_ML development by creating an account on GitHub.

github.com

 

반응형

'Python > python 기초' 카테고리의 다른 글

Numpy - 5  (0) 2020.01.22
Numpy array - 4  (0) 2020.01.07
Numpy array -2  (0) 2020.01.07
Numpy array - 1  (0) 2020.01.06
Formatting  (0) 2020.01.05

댓글