NumPy 상관관계 함수

Vaibhhav Khetarpal 2023년10월10일
  1. NumPy의 상관 관계
  2. np.corrcoef() 함수를 사용하여 Python에서 상관관계 구현
  3. Matplotlib 라이브러리와 상관관계를 사용하여 상관관계 그래프 만들기
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()

출력:

matplotlib 라이브러리와 상관 관계 사용

위의 그래프는 그래프가 일반적인 상향 궤도를 가지고 있는 것처럼 보이므로 양의 상관관계를 나타냅니다. 이 유형의 그래프는 주어진 배열에서 더 많은 수의 요소에 대해 더 잘 작동합니다.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

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

관련 문장 - Python NumPy