π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ Π±Π΅Π· ΡΡΠΈΠ»ΠΈΠΉ π¬
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
ΠΠ»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ corrcoef() ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ numpy.
import numpy as np
# ΠΡΠΈΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ
x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 9, 10]
# ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ
correlation = np.corrcoef(x, y)[0, 1]
# ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
print(f"ΠΠΎΡΡΠ΅Π»ΡΡΠΈΡ: {correlation}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ° x ΠΈ y, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ corrcoef() Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ correlation.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ print(). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ Π½Π° ΠΏΠΈΡΠΎΠ½Π΅
ΠΠΎΡΡΠ΅Π»ΡΡΠΈΡ - ΡΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ²ΡΠ·Ρ ΠΈΠ»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ. Π Python ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Python.
1. ΠΠ΅ΡΠΎΠ΄ corr() Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pandas
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Pandas ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ corr(), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ DataFrame. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
import pandas as pd
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# ΠΠ°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ
correlation = df.corr()
print(correlation)
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ DataFrame ΠΈΠ· ΡΡΠ΅Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² A, B ΠΈ C, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ.
2. ΠΠ΅ΡΠΎΠ΄ corrcoef() Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° NumPy ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ corrcoef(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
x = np.array([1, 2, 3, 4, 5])
y = np.array([6, 7, 8, 9, 10])
# ΠΠ°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ
correlation = np.corrcoef(x, y)
print(correlation)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°, x ΠΈ y, ΠΈ Π·Π°ΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ corrcoef().
3. ΠΠ΅ΡΠΎΠ΄ pearsonr() Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SciPy
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SciPy ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ pearsonr(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΠΈΡΡΠΎΠ½Π° ΠΈ p-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄Π²ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
from scipy.stats import pearsonr
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
x = np.array([1, 2, 3, 4, 5])
y = np.array([6, 7, 8, 9, 10])
# ΠΠ°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΠΈΡΡΠΎΠ½Π° ΠΈ p-Π·Π½Π°ΡΠ΅Π½ΠΈΡ
correlation, p_value = pearsonr(x, y)
print("ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΠΈΡΡΠΎΠ½Π°:", correlation)
print("p-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:", p_value)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π²Π° ΠΌΠ°ΡΡΠΈΠ²Π°, x ΠΈ y, ΠΈ Π·Π°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ pearsonr() Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΠΈΡΡΠΎΠ½Π° ΠΈ p-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ.
4. ΠΠ΅ΡΠΎΠ΄ corr() Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Seaborn
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Seaborn ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΡΡ ΠΊΠ°ΡΡ. ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip.
import seaborn as sns
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ DataFrame
data = {'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ
sns.heatmap(df.corr(), annot=True, cmap="coolwarm")
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ DataFrame, Π° Π·Π°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ heatmap() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Seaborn Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅.