반응형
def cov(a, b):
if len(a) != len(b):
return
a_mean = np.mean(a)
b_mean = np.mean(b)
sum = 0
for i in range(0, len(a)):
sum += ((a[i] - a_mean) * (b[i] - b_mean))
return sum/(len(a)-1)
작동하지만 Numpy 버전이 사용 방법을 알아낼 수 있다면 훨씬 더 효율적이라고 생각합니다.
아무도 내가 쓴 것과 같은 Numpy cov 기능을 수행하는 방법을 알고 있습니까?
감사,
데이브
해결 방법
a
및 b
가 1 차원 시퀀스 인 경우 numpy.cov (a, b) [0] [1]
은 < code> cov (a, b) .
np.cov (a, b)
가 반환하는 2x2 배열에는 다음과 같은 요소가 있습니다.
cov(a,a) cov(a,b)
cov(a,b) cov(b,b)
(여기서 다시, cov
는 위에서 정의한 함수입니다.)
참조 페이지 https://stackoverflow.com/questions/15317822
반응형
'파이썬' 카테고리의 다른 글
파이썬 How to print a list more nicely? (0) | 2021.01.24 |
---|---|
파이썬 Google App Engine 모델의 JSON 직렬화 (0) | 2021.01.24 |
파이썬 Python으로 Android 앱을 프로그래밍하려면 어떻게해야합니까? (0) | 2021.01.24 |
파이썬 NumPy / OpenCV 2 : 직사각형이 아닌 영역을 자르려면 어떻게합니까? (0) | 2021.01.24 |
파이썬 virtualenv와 함께 다른 Python 버전 사용 (0) | 2021.01.24 |
댓글