π ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python: ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π° Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ numpy ΠΈ matplotlib.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π°:
import numpy as np
import matplotlib.pyplot as plt
# ΠΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°
coefficients = np.polyfit(x, y, 1)
polynomial = np.poly1d(coefficients)
trendline = polynomial(x)
# ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°
plt.scatter(x, y, label='ΠΠ°Π½Π½ΡΠ΅')
plt.plot(x, trendline, 'r-', label='ΠΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π°')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ numpy ΠΈ matplotlib. ΠΠ°ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ x ΠΈ y, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ x ΠΈ y. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ polyfit ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ numpy Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΠ½ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΡΠ΅ΠΏΠ΅Π½ΠΈ 1 ΠΊ Π΄Π°Π½Π½ΡΠΌ x ΠΈ y, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ poly1d ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π½Π΄Π° Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ x.
ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ matplotlib Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ scatter Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ Π΄Π°Π½Π½ΡΡ , ΡΡΠ½ΠΊΡΠΈΡ plot Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°, ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ xlabel ΠΈ ylabel Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΎΡΠ΅ΠΉ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ legend Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»Π΅Π³Π΅Π½Π΄Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ show Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π° Π² Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π° Π² Python
ΠΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π° - ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π½Π΄Π° Π² Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π½Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠ±ΡΡΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π Python ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ matplotlib.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ matplotlib, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
pip install matplotlib
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ X ΠΈ Y.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π° Π² Python:
import matplotlib.pyplot as plt
import numpy as np
# ΠΠ°Π΄Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ X ΠΈ Y
X = [1, 2, 3, 4, 5]
Y = [3, 5, 7, 9, 11]
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌ ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ
p = np.polyfit(X, Y, 3)
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π½Π΄Π°
trend = np.poly1d(p)
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ X Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°
x_values = np.linspace(min(X), max(X), 100)
# ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°
plt.plot(X, Y, 'o', label='ΠΠ°Π½Π½ΡΠ΅')
plt.plot(x_values, trend(x_values), label='ΠΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π°')
# ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΎΡΠ΅ΠΉ ΠΈ Π»Π΅Π³Π΅Π½Π΄Ρ
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ Π³ΡΠ°ΡΠΈΠΊ
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ polyfit
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ numpy Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ° ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ΅ΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΡΡΠ΅Π½Π΄Π°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ poly1d
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π½Π΄Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠ°.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ² x_values
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ X Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ X. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ x_values
ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠ΅Π½Π΄Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΎΡΠ΅ΠΉ ΠΈ Π»Π΅Π³Π΅Π½Π΄Ρ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°.
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π° Π² Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ matplotlib. Π ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠ΅Π½Π΄Π°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π»ΠΈΠ½ΠΈΡ ΡΡΠ΅Π½Π΄Π° Π² Python ΠΈ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ Π² Π²Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ . Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΡΡΠ΅Π±Π½ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅!