π ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ° Π΄Π»Ρ Data Scientists: "ΠΠ΄Π΅Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ"
**Π£ΡΠ»ΠΎΠ²ΠΈΠ΅**
Π£ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π» List[float]
, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠΏΠ»Π°ΡΡ).
ΠΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ: ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π½Π° Π΄Π²Π΅ ΡΠ°ΡΡΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π° ΠΎΡΠ»ΠΈΡΠ°Π»ΠΎΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° Ξ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 0.1).
Π€ΠΎΡΠΌΠ°Ρ:
def has_balanced_std_split(data: list[float], epsilon: float = 0.1) -> bool:
...
ΠΡΠΈΠΌΠ΅Ρ:
data = [1.0, 2.0, 3.0, 4.0, 5.0]
# Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ 2 β [1.0, 2.0], [3.0, 4.0, 5.0]
# std ΡΠ»Π΅Π²Π° β 0.5, ΡΠΏΡΠ°Π²Π° β 0.816 β ΡΠ°Π·Π½ΠΈΡΠ° = 0.316 > 0.1 β Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ
π ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ
statistics.stdev()
ΠΈΠ»ΠΈ numpy.std(ddof=1)
(Ρ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠ΅ΠΉ). ΠΠΎ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉ, ΡΡΠΎ Π΄Π»ΠΈΠ½Π° ΠΏΠΎΠ΄ΠΌΠ°ΡΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 2.
---
β ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
```python
import statistics
def has_balanced_std_split(data: list[float], epsilon: float = 0.1) -> bool:
n = len(data)
if n < 4:
return False # ΠΡΠΆΠ½Ρ Ρ ΠΎΡΡ Π±Ρ 2 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°ΡΡΠΈ
for i in range(2, n - 1):
left = data[:i]
right = data[i:]
if len(left) < 2 or len(right) < 2:
continue
std_left = statistics.stdev(left)
std_right = statistics.stdev(right)
if abs(std_left - std_right) <= epsilon:
return True
return False
```
π ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
```python
data = [10, 12, 11, 20, 21, 19]
print(has_balanced_std_split(data, epsilon=0.5)) # True ΠΈΠ»ΠΈ False Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°Π·Π±ΠΈΠ²ΠΊΠΈ
```
π― Π§ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π·Π°Π΄Π°ΡΠ°:
β’ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ **Π΄ΠΈΡΠΏΠ΅ΡΡΠΈΠΈ ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ**
β’ Π·Π½Π°Π½ΠΈΠ΅ **ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Python**
β’ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° Π΄Π»ΠΈΠ½Ρ ΡΡΠ΅Π·ΠΎΠ²
β’ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ Π² Π΄ΡΡ Π΅ Β«ΡΠ°Π·Π΄Π΅Π»ΡΠΉ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠΉΒ»
>>Click here to continue<<