np.random.normal()에서 정상 분포 까지 의 적합 작업

위대 한 고 스 분포(Gaussian Distribution)의 확률 밀도 함수(probability density function)를 먼저 봅 니 다.

numpy 에 대응:

numpy.random.normal(loc=0.0, scale=1.0, size=None)
매개 변수의 의 미 는:loc :float
이 확률 분포 의 평균 값(전체 분포 에 대응 하 는 중심 centre)scale :float
이 확률 분포 의 표준 차(분포 의 너비 에 대응 하고 scale 이 클 수록 땅딸막 하 며 scale 이 작 을 수록 날씬 하 다)size :int or tuple of ints
출력 된 shape,기본 값 은 None 이 고 값 만 출력 합 니 다.
우리 가 더욱 자주 사용 하 는 np.random.randn(size)이른바 표준 정규분포
np.random.normal(loc=0,scale=1,size)에 대응 합 니 다.
샘플링(샘플링)

#      (         )     
mu, sigma = 0, .1
s = np.random.normal(loc=mu, scale=sigma, size=1000)
scipy 라 이브 러 리 의 관련 api 도 사용 할 수 있 습 니 다.

import scipy.stats as st
mu, sigma = 0, .1
s = st.norm(mu, sigma).rvs(1000)
평균 값 과 분산 검사:

>>> abs(mu < np.mean(s)) < .01
True
>>> abs(sigma-np.std(s, ddof=1)) < .01
True
            # ddof,delta degrees of freedom,     
            #    1,      ,
적합 하 다
우 리 는 matplotlib.pyplot 를 사용 하여 편리 하고 강력 한 문법 으로 고 스 분포 의 적합 을 어떻게 하 는 지 봅 니 다.

import matplotlib.pyplot as plt
count, bins, _ = plt.hist(s, 30, normed=True)
        # normed        
        # count    bin     , Normed True ,         
plt.plot(bins, 1./(np.sqrt(2*np.pi)*sigma)*np.exp(-(bins-mu)**2/(2*sigma**2), lw=2, c='r')
plt.show()
또는:

s_fit = np.linspace(s.min(), s.max())
plt.plot(s_fit, st.norm(mu, sigma).pdf(s_fit), lw=2, c='r')
这里写图片描述
np.random.normal()의 의미 및 인 스 턴 스
이것 은 무 작위 로 정상 분 포 를 만 드 는 함수 입 니 다.노 멀 모드
먼저 공식 설명 을 살 펴 보 자.
세 개의 인자 가 있 습 니 다.
4.567914.정상 분포 의 평균 값 은 이 분포 의 중심 에 대응 하고 다음 그림 을 대표 한다.μ
4.567914.정상 분포 의 기준 차 이 는 분포 의 너비 에 대응 하고 scale 이 클 수록 정상 분포 의 곡선 이 낮 고 scale 이 작 을 수록 곡선 이 높 고 말랐다.다음 그림 의 를 대표 한다σloc데이터 의 shape 를 입력 하 십시오.예:
다음은 내 연 코드 필름 을 보 여 드 리 겠 습 니 다.

// An highlighted block
a=np.random.normal(0, 1, (2, 4))
print(a)
  :
[[-0.29217334  0.41371571  1.26816017  0.46474676]
 [ 1.33271487  0.80162296  0.47974157 -1.49748788]]
이 그림 을 보면 직관 적 이다.

다음은 공식 문서 입 니 다.
在这里插入图片描述
在这里插入图片描述
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기