Data Science | Machinelearning [ru]
18K subscribers
456 photos
15 videos
29 files
3.29K links
Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence)

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
Защитим вдов и сирот от хищных ИИ-стартаперов

Расскажу про свою AI-задачку по SystemVerilog для EDA, на которой одни тулы падают, а другие халтурят. Это способ фильтровать стартаперов-болтунов и экономить деньги VC, а значит — и пенсионеров.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
32😁2
⚙️ Что такое Feature Scaling в ML и зачем он нужен?

Feature Scaling (масштабирование признаков) — это приведение всех признаков к одному масштабу, чтобы модель обучалась корректно.

Некоторые алгоритмы (например, k-NN, SVM, градиентный спуск) чувствительны к разнице в диапазонах данных

➡️ Пример:

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[1, 100], [2, 300], [3, 500]])

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

print(X_scaled)


🗣️ В этом примере признаки приводятся к виду с нулевым средним и единичным стандартным отклонением.


Без масштабирования одна "большая" переменная может полностью доминировать над другими..

🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
31👍1
🗺 Решение задачи коммивояжера (TSP) в реальных приложениях

Покажу, как задача коммивояжёра перекочевала из учебников в жизнь курьеров, таксистов и логистов, и какие алгоритмы реально помогают пройти маршрут быстро и без лишних кругов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
31🐳1
➡️ Объяснимый ИИ в ML и DL

Разбираемся, зачем нужен объяснимый ИИ, как подступиться к интерпретации моделей и что с этим делать на практике — от EDA до XAI на примере. Всё на русском, без магии.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
11🐳1
⚙️ Отлаживай систему целиком, а не по кускам

Баг может прятаться не в отдельной функции, а в том, как модули взаимодействуют между собой.

👉 Совет: проверяй сценарии целиком — от входных данных до финального результата. Иногда проблема не в коде, а в том, как части системы «разговаривают» между собой.
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥1
Как работает кросс-валидация в ML?

Кросс-валидация — это техника оценки модели, которая помогает избежать переобучения и лучше оценить её обобщающую способность. В классической k-блочной кросс-валидации данные разбиваются на k равных частей, и модель обучается k раз, каждый раз используя одну часть для тестирования и остальные для обучения.

➡️ Пример применения кросс-валидации с использованием библиотеки scikit-learn:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

data = load_iris()
X, y = data.data, data.target
clf = RandomForestClassifier()

scores = cross_val_score(clf, X, y, cv=5)
print(f'Средняя точность: {scores.mean()}')

Здесь модель обучается 5 раз (5-fold) на разных частях данных, и вычисляется средняя точность.

🗣️ Кросс-валидация помогает лучше понять, как модель будет работать на новых данных, улучшая её обобщение.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
21🐳1
➡️ Что забирает до 90% времени на созвонах и как перестать проводить их впустую

Когда митапов больше, чем решений, пора что-то менять. Мы выработали способ делать онлайн-созвоны короче, полезнее и без «а что мы вообще решили?». Делюсь, как именно.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2🐳1
👩‍💻 Вычисление “стабильных” признаков

Вам дана матрица признаков — список списков, где каждая строка представляет собой объект, а каждый столбец — отдельный числовой признак.
Ваша задача — определить, какие признаки можно считать стабильными.

Стабильный признак — это признак, у которого стандартное отклонение по всем объектам меньше заданного порога threshold.


Реализуйте функцию find_stable_features(matrix, threshold), которая возвращает список индексов признаков (столбцов), удовлетворяющих этому условию.

Решение задачи🔽

import numpy as np

def find_stable_features(matrix, threshold=0.1):
data = np.array(matrix)
stds = np.std(data, axis=0)
stable_indices = [i for i, std in enumerate(stds) if std < threshold]
return stable_indices

# Пример входных данных
X = [
[1.0, 0.5, 3.2],
[1.0, 0.49, 3.1],
[1.0, 0.52, 3.0],
[1.0, 0.5, 3.3],
]

print(find_stable_features(X, threshold=0.05))
# Ожидаемый результат: [0, 1]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
⚙️ Великая иллюзия Copilot

Рассказываю, как Copilot в парном программировании может быть опаснее любой нейросети — баги, хаос, StackOverflow-копипасты и моя потерянная вера в здравый смысл.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
11🐳1
⚙️ Нейросети без градиентов: спектральное моделирование и построение решений

Пробую собрать нейросеть без backpropagation — только спектр, только хардкор. Показываю на XOR и друзьях, как активации влияют на частоты и как строить модели в лоб. Будет странно, но интересно.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
31
👩‍💻 Поиск коррелирующих признаков

Вам дана матрица признаков (таблица) в виде списка списков. Каждый вложенный список — это объект, каждый столбец — признак.

Нужно реализовать функцию highly_correlated_features(data, threshold), которая вернёт список пар индексов признаков, корреляция между которыми по модулю превышает указанный threshold (от 0 до 1, не включительно).

Использовать можно только корреляцию Пирсона. Повторы пар и зеркальные дубли учитывать не нужно ((1, 2) и (2, 1) — одно и то же).

Цель:

Выявить признаки, которые слишком сильно "повторяют" друг друга и могут вызвать мультиколлинеарность в моделях.


Решение задачи🔽

import numpy as np
from itertools import combinations

def pearson_corr(x, y):
x = np.array(x)
y = np.array(y)
return np.corrcoef(x, y)[0, 1]

def highly_correlated_features(data, threshold=0.9):
arr = np.array(data)
n_features = arr.shape[1]
result = []

for i, j in combinations(range(n_features), 2):
corr = pearson_corr(arr[:, i], arr[:, j])
if abs(corr) > threshold:
result.append((i, j))

return result

# Пример использования
X = [
[1, 2, 10],
[2, 4, 20],
[3, 6, 30],
[4, 8, 40],
[5, 10, 50]
]

print(highly_correlated_features(X, threshold=0.95))
# Ожидаемый результат: [(0, 1), (0, 2), (1, 2)]
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Gartner's AI Tech Sandwich: Едим ИИ-бутерброд правильно

Рассказываю, как ИИ перестал быть модной фишкой и стал бизнес-необходимостью. Плюс — что за AI Technology Sandwich придумали в Gartner и зачем им слоёная метафора.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤡 Endless Fun Machine: бесконечный генератор смешных картинок

Расскажу про проект Endless Fun Machine: как я собрал генератор, где ИИ сам придумывает шутки и рисует их в мемы. И заодно покажу, как это можно адаптировать для синтетических данных

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Что такое data leakage в машинном обучении и почему это опасно?

Data leakage (утечка данных) — это ситуация, когда модель случайно получает информацию о будущем (о целевой переменной), которая недоступна на момент предсказания. Это приводит к переоценке качества модели во время обучения и к плохой работе на реальных данных.

➡️ Пример:

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# Пример: диагностические данные пациента
df = pd.DataFrame({
'age': [25, 40, 60, 35],
'blood_pressure': [120, 130, 150, 110],
'has_disease': [0, 1, 1, 0],
'diagnosis_code': [0, 1, 1, 0] # случайно совпадает с целевой переменной
})

X = df.drop('has_disease', axis=1)
y = df['has_disease']

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

model = LogisticRegression()
model.fit(X_train, y_train)
print("Train accuracy:", model.score(X_train, y_train))


🗣️ В этом примере diagnosis_code напрямую связан с целевой переменной has_disease. Модель «угадывает» ответы на тренировке, но это не работает в реальности. Такое скрытое совпадение — типичный пример data leakage
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Меньше месяца до окончания приема заявок в магистратуру ЦУ с грантом до 75% на все время обучения!

Если хочешь двигаться в новую роль, но не хватает уверенности и структуры — начни обучение на одном из четырех ИТ-направлений магистратуры ЦУ.

Ты сможешь прокачаться:
— в продуктовой аналитике;
— машинном обучении;
— продуктовом менеджменте;
— backend-разработке.

Партнеры университета — ведущие компании на рынке РФ: ВТБ, Сбер, Т-Банк, Яндекс, Avito, Ozon, Х5 Tech и другие. 62% магистрантов ЦУ находят новую работу с ростом зарплаты в 1,6 раза уже на первом курсе, а средняя зарплата достигает 195 000 ₽.

Обучение можно совмещать с работой, так как занятия проводятся по вечерам и выходным.

Успей подать заявку до 24 августа: ссылка
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Выжимаем максимум из ChatGPT-5

Разбираем, как устроен запуск GPT-5, какие лимиты и настройки ввела OpenAI, и на что обратить внимание подписчикам ChatGPT Plus, чтобы выбрать оптимальную модель и избежать проблем

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎞 Как за 6 промтов к ChatGPT создать Python скрипт, скачивающий видео с YouTube для просмотра на телевизоре через Kodi

Статья рассказывает, как с помощью Python и ChatGPT создать скрипт для автоматической загрузки видео с YouTube и генерации метаданных (описаний и обложек) для интеграции с медиацентром Kodi.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1