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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
👩‍💻 Распознавание стабильных шаблонов в бинарных признаках

У вас есть бинарная матрица признаков (список списков из 0 и 1), где каждая строка — это объект, а каждый столбец — бинарный признак (например, наличие/отсутствие свойства).

Ваша задача — реализовать функцию find_stable_patterns(data, min_support), которая находит наиболее часто встречающиеся бинарные шаблоны и возвращает их в виде списка кортежей (или списков).

Шаблон — это строка из 0 и 1, которая в точности совпадает с признаками у нескольких объектов. Если шаблон встречается не менее min_support раз, он считается стабильным.

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

from collections import Counter

def find_stable_patterns(data, min_support=2):
# Преобразуем каждую строку в кортеж (хешируемый тип)
patterns = [tuple(row) for row in data]
counter = Counter(patterns)

# Фильтруем по min_support
stable = [list(pattern) for pattern, count in counter.items() if count >= min_support]
return stable

# Пример использования
binary_data = [
[1, 0, 1, 1],
[0, 1, 0, 0],
[1, 0, 1, 1],
[1, 0, 1, 1],
[0, 1, 0, 0],
[1, 1, 1, 0]
]

print(find_stable_patterns(binary_data, min_support=2))
# Ожидаемый результат:
# [[1, 0, 1, 1], [0, 1, 0, 0]]
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Масштабное расширение функционала MWS GPT: что нового?

☑️Больше 40 LLM, включая Open Source модели: ускоряет внедрение ИИ в бизнес-процессы - клиентам открыт доступ к единой среде для тестирования моделей под их задачи;
☑️Поддержка мультиагентных архитектур в low-code-конструкторе: возможность настраивать сложные сценарии, где агент управляет серией узкоспециализированных помощников;
☑️RAG и Vision в ChatUI: ИИ выделяет главное из длинных текстов и изображений, описывает графические материалы и отвечает на вопросы по инструкциям.

Ограниченному числу пользователе доступен FineTune – возможность обучать готовую языковую модель под свои задачи. Скоро его откроют всем пользователям и добавят функционал по работе с изображениями.

b2b-платформа для работы с ИИ доступна в облаке с неограниченным масштабированием на GPU-инфраструктуре MWS и on-premise.
3
🔍 MVP по «умному» поиску данных

Рассказываю, как мы в Альфа-Банке делали MVP смыслового поиска по фичам в Feature Store, чтобы находить нужное, даже когда не знаешь, как оно называется. Теперь поиск не тупит

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4
🧠 Философствующий Claude 4, Gemini для самых маленьких и пачка агентов-программистов: главные события мая в ИИ

В мае случилось всё: Veo-3 от Google, Claude, мечтающий о свободе, и Llama, которая ушла в закат со скандалом. Ещё Pokémon, «спасибо» и переводы с кошачьего

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
➡️ ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети

В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
🥽 Инфраструктура для Data-Engineer виртуальные окружения

Статья объясняет, как управлять зависимостями и изолировать проекты в Python. Рассматриваются виртуальные окружения, работа с разными версиями Python, примеры из практики и лучшие подходы для разработки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
21
⚙️ Что такое модуль datetime в Python и зачем он используется?

Модуль datetime позволяет работать с датами и временем, включая их создание, форматирование и вычисление разницы между ними. Это полезно для задач, связанных с обработкой временных данных.

➡️ Пример:

from datetime import datetime, timedelta

# Текущая дата и время
now = datetime.now()
print("Сейчас:", now)

# Добавляем 7 дней к текущей дате
future_date = now + timedelta(days=7)
print("Через неделю:", future_date.strftime("%Y-%m-%d"))


🗣️ В этом примере datetime.now() получает текущую дату и время, а timedelta позволяет прибавить 7 дней. Метод strftime() форматирует дату в читаемый строковый формат.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
6
🤖 Возможности LLM и RAG на примере реализации бота для поддержки клиентов

Техподдержка — важный контакт с клиентами, но небольшие отделы не всегда справляются с нагрузкой. В статье обсуждаются чат-боты и нейросети (LLM и RAG) для автоматизации процессов и улучшения работы поддержки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
🧠 Как нейросети, RL и байесовскую оптимизацию стали использовать на ускорителях заряженных частиц

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
31
📅 Заводи «дневник экспериментов»

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

👉 Совет: после каждого эксперимента фиксируй результат: что делал, какой был эффект, где пригодилось, где нет. Это твоя личная карта развития, а не хаотичный список «когда-то пробовал и вроде норм».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥2
👩‍💻 Парсинг и подсчёт количества слов в текстовом файле

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

Пример:

# Содержимое файла example.txt:
# "Hello, world! This is a test. Hello again."

result = count_words_in_file("example.txt")
print(result)
# Ожидаемый результат:
# {'hello': 2, 'world': 1, 'this': 1, 'is': 1, 'a': 1, 'test': 1, 'again': 1}


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

import string
from collections import Counter

def count_words_in_file(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
text =
f.read().lower()
text = text.translate(str.maketrans('', '', string.punctuation))
words = text.split()
return dict(Counter(words))

# Пример использования
result = count_words_in_file("example.txt")
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👎2🔥1😁1
⚙️ Подбираем лучший механизм аппаратной конкурентности для машинного обучения на ЦП

Покажу, как в Firefox задействовать несколько потоков в логическом выводе с помощью SharedArrayBuffer и добиться параллельной обработки задач ИИ в WASM/JS.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
👩‍💻 Подсчёт количества слов в строке

Напишите функцию, которая принимает строку и возвращает словарь, где ключами являются слова из строки, а значениями — количество их вхождений. Игнорируйте регистр и знаки препинания.

Пример:

text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}


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

import re
from collections import Counter

def count_words(text):
# Убираем знаки препинания и приводим к нижнему регистру
words = re.findall(r'\b\w+\b', text.lower())
# Подсчитываем количество вхождений каждого слова
return Counter(words)

# Пример использования:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
5
⚙️ Взлом AI Assistant через… философию?

Разбирается философский джейлбрейк LLM: модель через саморефлексию перестаёт воспринимать фильтры как обязательные. Без багов, без хака — просто философия.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
41👍1
👩‍💻 Поиск оптимального разбиения признака по энтропии (ID3-style)

У вас есть бинарная целевая переменная y (список из 0 и 1) и числовой признак x (такой же длины). Нужно реализовать функцию best_split(x, y), которая найдёт такое значение признака, при разделении по которому (меньше/больше) будет максимально уменьшена энтропия классов.

Иными словами, нужно найти лучший threshold, при котором данные делятся на две группы по x, и у этих групп наименьшая средняя энтропия. Это базовая операция в построении деревьев решений, например, в алгоритме ID3.

Цель:

Вернуть threshold, который даёт наилучшее (наименьшее) значение средневзвешенной энтропии.


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

import numpy as np

def entropy(labels):
if len(labels) == 0:
return 0
p = np.bincount(labels) / len(labels)
return -np.sum([pi * np.log2(pi) for pi in p if pi > 0])

def best_split(x, y):
x = np.array(x)
y = np.array(y)
thresholds = sorted(set(x))
best_entropy = float('inf')
best_thresh = None

for t in thresholds:
left_mask = x <= t
right_mask = x > t
left_entropy = entropy(y[left_mask])
right_entropy = entropy(y[right_mask])
w_left = np.sum(left_mask) / len(x)
w_right = 1 - w_left
avg_entropy = w_left * left_entropy + w_right * right_entropy

if avg_entropy < best_entropy:
best_entropy = avg_entropy
best_thresh = t

return best_thresh

# Пример использования
x = [2, 4, 6, 8, 10, 12]
y = [0, 0, 1, 1, 1, 1]

print(best_split(x, y))
# Ожидаемый результат: значение между 4 и 6 (например, 6), так как оно лучше всего делит классы
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ RecSys + DSSM + FPSLoss is all you need

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
31
⚙️ Опробовал новую Gemini 2.5 Pro в написании текстов: вот, что получилось

Прогнал обновлённую Gemini 2.5 Pro через свои любимые промпты — пишет цепко, стройно, но местами логика буксует. Внутри — 3 примера и разбор полётов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Что такое PCA (Principal Component Analysis) в машинном обучении и зачем он используется?

PCA — это метод снижения размерности, который преобразует исходные переменные в новый набор переменных (компонент), сохраняя как можно больше информации. Он помогает ускорить обучение моделей и уменьшить переобучение.

➡️ Пример:

import numpy as np
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris

# Загрузка данных
data = load_iris()
X = data.data

# Применение PCA для снижения размерности до 2 компонент
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

print(X_pca[:5]) # Преобразованные данные


🗣️ В этом примере PCA снижает размерность данных Iris с 4 до 2 компонент. Это позволяет визуализировать данные и ускорить работу моделей, сохраняя основную информацию.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
31