Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-16/post/devsp/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
πŸ‘©β€πŸ’» Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ "псСвдослучайных" ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² @Data Science | Machinelearning [ru]
TG Telegram Group & Channel
Data Science | Machinelearning [ru] | United States America (US)
Create: Update:

πŸ‘©β€πŸ’» Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ "псСвдослучайных" ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ²

Π’Π°ΠΌ Π΄Π°Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° X β€” список списков с числовыми ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ. Один ΠΈΠ»ΠΈ нСсколько ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² Π±Ρ‹Π»ΠΈ случайно сгСнСрированы, ΠΈ Π½Π΅ нСсут ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ).

НуТно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ drop_random_features(X, threshold=0.05), которая Π²Π΅Ρ€Π½Ρ‘Ρ‚ индСксы ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², слабо ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… со всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ (ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ коррСляции ΠŸΠΈΡ€ΡΠΎΠ½Π°).

Если ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ большС, Ρ‡Π΅ΠΌ Π½Π° threshold, ΠΎΠ½ считаСтся псСвдослучайным ΠΈ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ.

ЦСль:

Найти ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ статистичСской связи с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡˆΡƒΠΌΠΎΠΌ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡ… индСксы.


РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈπŸ”½

import numpy as np

def drop_random_features(X, threshold=0.05):
X = np.array(X)
n_features = X.shape[1]
to_drop = []

for i in range(n_features):
max_corr = 0
for j in range(n_features):
if i != j:
corr = abs(np.corrcoef(X[:, i], X[:, j])[0, 1])
max_corr = max(max_corr, corr)
if max_corr < threshold:
to_drop.append(i)

return to_drop

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
np.random.seed(42)
X = np.column_stack([
np.linspace(1, 10, 100), # Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ
np.linspace(10, 1, 100), # ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ
np.random.rand(100), # ΡˆΡƒΠΌ
np.linspace(5, 50, 100) + np.random.rand(100) * 0.1 # ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ
])

print(drop_random_features(X, threshold=0.2))
# ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: [2] β€” Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ случайный

πŸ‘©β€πŸ’» Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ "псСвдослучайных" ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ²

Π’Π°ΠΌ Π΄Π°Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° X β€” список списков с числовыми ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°ΠΌΠΈ. Один ΠΈΠ»ΠΈ нСсколько ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² Π±Ρ‹Π»ΠΈ случайно сгСнСрированы, ΠΈ Π½Π΅ нСсут ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‚ Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ).

НуТно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ drop_random_features(X, threshold=0.05), которая Π²Π΅Ρ€Π½Ρ‘Ρ‚ индСксы ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ², слабо ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… со всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ (ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ коррСляции ΠŸΠΈΡ€ΡΠΎΠ½Π°).

Если ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ большС, Ρ‡Π΅ΠΌ Π½Π° threshold, ΠΎΠ½ считаСтся псСвдослучайным ΠΈ ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ.

ЦСль:

Найти ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ статистичСской связи с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡˆΡƒΠΌΠΎΠΌ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡ… индСксы.


РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈπŸ”½

import numpy as np

def drop_random_features(X, threshold=0.05):
X = np.array(X)
n_features = X.shape[1]
to_drop = []

for i in range(n_features):
max_corr = 0
for j in range(n_features):
if i != j:
corr = abs(np.corrcoef(X[:, i], X[:, j])[0, 1])
max_corr = max(max_corr, corr)
if max_corr < threshold:
to_drop.append(i)

return to_drop

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
np.random.seed(42)
X = np.column_stack([
np.linspace(1, 10, 100), # Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ
np.linspace(10, 1, 100), # ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ
np.random.rand(100), # ΡˆΡƒΠΌ
np.linspace(5, 50, 100) + np.random.rand(100) * 0.1 # ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ
])

print(drop_random_features(X, threshold=0.2))
# ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: [2] β€” Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ случайный
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘3πŸ”₯3


>>Click here to continue<<

Data Science | Machinelearning [ru]




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Can't create/write to file '/tmp/#sql-temptable-a06e-41e21b-b8a.MAI' (Errcode: 28 "No space left on device") in /var/www/hottg/function.php:216 Stack trace: #0 /var/www/hottg/function.php(216): mysqli_query() #1 /var/www/hottg/function.php(115): select() #2 /var/www/hottg/post.php(351): daCache() #3 /var/www/hottg/route.php(63): include_once('...') #4 {main} thrown in /var/www/hottg/function.php on line 216