NumPy 상관관계 함수
이 튜토리얼은 Python에서 NumPy 라이브러리의 상관 함수 np.corrcoef()
기능을 보여줍니다.
NumPy의 상관 관계
상관 계수는 데이터 세트의 주어진 기능 간의 관계를 나타내는 숫자 값입니다.
상관 관계는 긍정적일 수 있습니다. 즉, 직접적인 관계가 있고 한 기능의 증가는 다른 기능으로 이어질 수 있습니다. 음의 상관관계도 가능합니다. 즉, 두 기능이 서로 반비례 관계에 있음을 시사합니다. 즉, 한 기능의 상승이 다른 기능의 하락으로 이어질 수 있습니다.
다음은 몇 가지 다양한 상관 관계입니다.
- 피어슨 상관관계
- Kendall의 상관 관계
- Spearman의 상관 관계
그러나 NumPy 라이브러리 함수 np.corrcoef()
는 Pearson의 상관 값에만 집중하고 계산합니다. 다른 상관 관계는 SciPy 라이브러리에서 제공하는 직접 함수를 사용하여 찾을 수 있습니다.
이 튜토리얼은 np.coefcorr()
기능과 그 구현에만 초점을 맞춥니다.
np.corrcoef()
함수를 사용하여 Python에서 상관관계 구현
NumPy
라이브러리의 np.corrcoef()
함수는 두 배열이 동일한 모양인 경우 두 배열 사이의 Pearson 상관 계수 행렬을 가져오는 데 사용됩니다. 이 함수는 일반적으로 상관 계수를 나타내는 2차원 배열을 반환합니다.
NumPy 라이브러리를 Python 코드로 가져오면 오류 없이 이 기능을 구현할 수 있습니다.
예제 코드:
import numpy as np
a = np.arange(20, 30)
b = np.array([8, 12, 29, 33, 60, 48, 21, 44, 78, 96])
x = np.corrcoef(a, b)
print(x)
출력:
[[1. 0.82449488]
[0.82449488 1. ]]
출력 행렬의 주대각선은 항상 모든 값을 하나로 갖습니다. 우리의 경우 왼쪽 위 요소의 값은 x와 x의 상관 계수를 반환하므로 1이고 오른쪽 아래 요소는 y와 y의 상관 계수를 반환합니다.
주어진 출력 행렬에서 고려해야 할 주요 값은 다른 두 값입니다. 이 값은 우리의 경우 대략 0.82
로 나타납니다. 또한 이 두 요소는 항상 동일한 값을 보유합니다.
Matplotlib 라이브러리와 상관관계를 사용하여 상관관계 그래프 만들기
NumPy 라이브러리는 Matplotlib 라이브러리와 함께 활용되어 사용자가 출력으로 상관 관계 그래프를 가질 수 있도록 합니다. 다음 코드는 Matplotlib 라이브러리와 상관 관계 함수 corrcoef()
를 사용하여 상관 관계 그래프를 만듭니다.
예제 코드:
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
x = np.arange(20, 30)
y = np.array([8, 12, 29, 33, 60, 48, 21, 44, 78, 96])
print(np.corrcoef(x, y))
# %matplotlib inline
matplotlib.style.use("ggplot")
plt.scatter(x, y)
plt.show()
출력:
위의 그래프는 그래프가 일반적인 상향 궤도를 가지고 있는 것처럼 보이므로 양의 상관관계를 나타냅니다. 이 유형의 그래프는 주어진 배열에서 더 많은 수의 요소에 대해 더 잘 작동합니다.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn