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
⚙️ Как обеспечить Data Quality терабайтов данных и зачем: опыт СИБУРа

Статья посвящена опыту СИБУРа в создании DQ-сервиса для обеспечения качества данных. Рассматриваются задачи DQ, архитектура решения и универсальные подходы, применимые для анализа данных в крупных компаниях.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает кросс-валидация в 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
📝 Подборка вакансий для мидлов

LLM Engineer
Проектирование и создание инфраструктуры для запуска ИИ-агентов, включая работу с RAG, tools, механизмами памяти
Уровень дохода не указан | Требуемый опыт не указан

Tech Lead Data Engineer
Oracle, Greenplum, ETL, DWH
до 430 000 ₽ | от 2 лет опыта

Бизнес-аналитик / Системный аналитик
BPMN, UML, Анализ данных, Разработка ТЗ
до 150 000 ₽ | Средний (Middle)
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как я учился писать промпты для RAG пайплайна. Разбор 3-го места на AI Journey 24 E-com AI assistant

Статья описывает опыт создания RAG-пайплайна с использованием Gigachat API для участия в AI Journey. Автор делится инсайтами, полученными в процессе разработки ассистента для рекомендаций товаров, который занял 3-е место.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по Python

Напишите функцию, которая принимает строку и возвращает новую строку, из которой удалены все гласные буквы (a, e, i, o, u в любом регистре).

➡️ Пример:

print(remove_vowels("Hello World"))  # Ожидаемый результат: "Hll Wrld"
print(remove_vowels("Python is great")) # Ожидаемый результат: "Pythn s grt"


Решение задачи ⬇️

def remove_vowels(s):
vowels = "aeiouAEIOU"
return ''.join(char for char in s if char not in vowels)

# Пример использования:
print(remove_vowels("Hello World")) # Ожидаемый результат: "Hll Wrld"
print(remove_vowels("Python is great")) # Ожидаемый результат: "Pythn s grt"
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
🤔 Прогнозирование продаж с использованием библиотеки Prophet

Статья посвящена прогнозированию продаж FTTB-FMC для ежедневной отчетности. Рассматриваются подходы к анализу данных, ключевые KPI и методы, используемые для прогнозирования продаж в сегменте ШПД и конвергентных продуктов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Размер имеет значение: как исторические данные помогают на этапе дизайна A/B-теста

Статья изучает применение метода CUPED в A/B-тестах для повышения чувствительности и сокращения выборок. Рассматривается его использование на этапе дизайна эксперимента без потери статистической мощности.

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ KAN 2.0: Kolmogorov-Arnold Networks Meet Science

Статья представляет перевод работы о нейронных сетях на основе алгоритма Колмогорова-Арнольда (KAN). Рассматриваются новые исследования, связь с наукой и использование библиотеки pykan на Python для практических задач.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает метод feature_importances_ в Python и зачем он нужен в Machine Learning?

Метод feature_importances_ — это атрибут некоторых моделей машинного обучения в библиотеке scikit-learn, который позволяет определить, какие признаки (фичи) наиболее влияют на предсказания модели.

Этот метод возвращает значение важности для каждого признака, показывая, как сильно он влияет на конечный результат. Его использование особенно полезно для деревьев решений и ансамблевых моделей, таких как RandomForest и GradientBoosting.

➡️ В примере ниже мы используем RandomForest для анализа важности признаков и визуализации результатов.

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import pandas as pd

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

# Создание и обучение модели
model = RandomForestClassifier()
model.fit(X, y)

# Получение и визуализация важности признаков
feature_importances = pd.Series(model.feature_importances_, index=data.feature_names)
feature_importances.sort_values(ascending=False).plot(kind='bar')


🗣 Использование feature_importances_ помогает определить, какие признаки стоит использовать, исключить малозначимые фичи и сделать модель более интерпретируемой.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📝 Подборка вакансий для сеньоров

Data engineer
SQL, Python, Apache Hadoop
Уровень дохода не указан | от 3 лет

Data Engineer
SQL, Python, Apache Airflow, Greenplum, Apache Spark
от 250 000 ₽ | от 2 лет

Senior Data Scientist
Python
Уровень дохода не указан | опыт не указан

ML-инженер
Машинное обучение, Deep Learning, Нейронные сети, Python, TensorFlow, PyTorch, Keras, Linux, Git, Docker
Уровень дохода не указан | опыт не указан

Разработчик БД (PostgreSQL, прикладные витрины)
SQL, PostgreSQL, ETL, Apache Airflow, Greenplum
Уровень дохода не указан | от 3 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
💳 Как мы провели ИИ-трансформацию стратегических процессов Сбера

Статья рассказывает об ИИ-трансформации Сбера, включая ключевые задачи, такие как стресс-тестирование, анализ рынков и прогнозирование эффективности сотрудников. Рассматривается использование ИИ до и после трансформации.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🌱 Никогда не прекращай быть «джуниором»

Считаешь, что знаешь всё о своём языке или технологии? Это первый шаг к застою.

👉 Совет: хотя бы раз в месяц изучай что-то новое — экспериментируй с языком, погружайся в новый инструмент или пробуй другой подход. В IT важно не только знать, но и уметь учиться. Это ключ к тому, чтобы оставаться востребованным.
Please open Telegram to view this post
VIEW IN TELEGRAM
📖 «Охота на электроовец: большая книга искусственного интеллекта» или как написать книгу про ИИ без регистрации и SMS

История о том, как за 6 лет я написал двухтомник, посвящённый искусственному интеллекту и машинному обучению.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤖 Псст, ИИ нужен? 5 полезных инструментов для разработчика

Статья предлагает подборку инструментов, платформ и шаблонов для работы с языковыми моделями и создания ИИ-ассистентов. Рассматриваются протестированные в МТС решения, упрощающие разработку и интеграцию.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👩‍💻 Нормализация набора данных

Напишите функцию, которая принимает pandas.DataFrame и нормализует все числовые столбцы в диапазон от 0 до 1.

Пример:

import pandas as pd

data = pd.DataFrame({
'feature1': [10, 20, 30, 40],
'feature2': [1, 2, 3, 4],
'feature3': ['A', 'B', 'C', 'D'] # Не числовой столбец
})

result = normalize_dataframe(data)
print(result)
# Ожидаемый результат:
# feature1 feature2 feature3
# 0 0.0 0.0 A
# 1 0.333 0.333 B
# 2 0.667 0.667 C
# 3 1.0 1.0 D


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

import pandas as pd

def normalize_dataframe(df):
df_normalized = df.copy()
for col in df.select_dtypes(include='number').columns:
min_val = df[col].min()
max_val = df[col].max()
df_normalized[col] = (df[col] - min_val) / (max_val - min_val)
return df_normalized

# Пример использования:
data = pd.DataFrame({
'feature1': [10, 20, 30, 40],
'feature2': [1, 2, 3, 4],
'feature3': ['A', 'B', 'C', 'D']
})

result = normalize_dataframe(data)
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52👍1
⚙️ Оптимизация Trellis: запускаем генерацию 3D моделей на GPU с 8ГБ памяти

В статье рассказано, как с помощью оптимизации Trellis удалось снизить требования к видеопамяти с 16GB до 8GB, сохранив качество. Рассмотрены подходы к сжатию данных, переработке структур и повышению доступности инструмента.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
👩‍💻 Предобработка текстовых данных и создание мешка слов (Bag of Words)

Напишите функцию, которая принимает список текстовых строк и возвращает мешок слов (Bag of Words) в виде словаря, где ключи — это уникальные слова, а значения — их частота встречаемости в текстах. Функция должна выполнять базовую предобработку текста: приведение к нижнему регистру, удаление знаков препинания и стоп-слов.

Пример использования:

texts = [
"I love data science!",
"Data science is amazing.",
"Machine learning is a part of data science."
]

bag_of_words = create_bag_of_words(texts)
print(bag_of_words)
# Ожидаемый результат (пример):
# {'love': 1, 'data': 3, 'science': 3, 'amazing': 1, 'machine': 1, 'learning': 1, 'part': 1}


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

from collections import defaultdict
import string
from nltk.corpus import stopwords
import nltk

# Загружаем стоп-слова (если не загружены, выполнить:
nltk.download('stopwords'))
nltk.download('stopwords')
stop_words = set(stopwords.words('english'))

def preprocess_text(text):
# Приведение к нижнему регистру и удаление знаков препинания
text = text.lower()
text = text.translate(str.maketrans('', '', string.punctuation))
return text

def create_bag_of_words(texts):
bag = defaultdict(int)

for text in texts:
# Предобработка текста
processed_text = preprocess_text(text)

# Разделение текста на слова и подсчет частот
for word in processed_text.split():
if word not in stop_words: # Игнорируем стоп-слова
bag[word] += 1

return dict(bag)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41