Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
Больше📈 Аналитический обзор Telegram-канала Data Science | Machinelearning [ru]
Канал Data Science | Machinelearning [ru] (@devsp) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 20 041 подписчиков, занимая 6 738 место в категории Технологии и приложения и 33 739 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 20 041 подписчиков.
Согласно последним данным от 14 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -87, а за последние 24 часа — -13, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 7.71%. В первые 24 часа после публикации контент обычно набирает 4.62% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 1 546 просмотров. В течение первых суток публикация набирает 926 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 7.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как llm, nvidia, контекст, openai, архитектура.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.
Личный блог автора - @just_genych
По вопросам рекламы или разработки - @g_abashkin
РКН: https://vk.cc/cJPGXD”
Благодаря высокой частоте обновлений (последние данные получены 15 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
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"
• Git, Python, базы данных
• Уровень дохода не указан | от 1 года
Data Scientist в команду RecSys (middle)
• Машинное обучение, SQL, Python, PostgreSQL, Git, TensorFlow, ClickHouse, Apache Airflow, Pandas
• Уровень дохода не указан | от 2 лет
Аналитик данных в сфере HR, middle
• SQL, Power BI, анализ данных, математическая статистика
• Уровень дохода не указан | от 2 летpython remove_duplicates.py input.csv output.csv column_name
id,name,age
1,John,30
2,Jane,25
4,Bob,35
Решение задачи ⬇️
import pandas as pd import sys if len(sys.argv) < 4: print("Использование: python remove_duplicates.py <input_file> <output_file> <column_name>") sys.exit(1) input_file = sys.argv[1] output_file = sys.argv[2] column_name = sys.argv[3] try: df = pd.read_csv(input_file) df = df.drop_duplicates(subset=[column_name]) df.to_csv(output_file, index=False) print(f"Дубликаты удалены. Результат сохранён в {output_file}") except Exception as e: print(f"Ошибка: {e}")
Для начала напомним, что Positional Encoding (кодирование позиций слов/токенов) нужен, чтобы передать модели или трансформеру информацию о позициях слов — относительную или же абсолютную.Как развивалось позиционное кодирование: 📆 2017 год С появлением ванильного трансформера позиции токенов кодировались тригонометрической функцией, значение которой зависело от позиции и просто прибавлялось к эмбеддингу соответсутвующего слова. Плюсы — мы умеем кодировать любую позицию, в том числе превосходящую максимальную длину, на которой тренировались. Минусы — не очень работает на длинных последовательностях, да и вообще не очень хорошо работает. 📆 2018 год Потом появился гугловский BERT, а вместе с ним новый подход позиционного кодирования: авторы предложиди выкинуть тригонометрию и вместо этого добавить в модель ещё один обучаемый слой nn.Embedding — такой же, как для получения эмбеддингов слов. Он должен кодировать — то есть, превращать в вектор — позицию токена. Итоговый вектор токена, который будет передан следующим слоям модели — это сумма векторов токена и его позиции. Работает лучше, чем тригонометрия, но при этом никак не экстраполируется: так как векторы выучиваемые, то для позиций, превосходящих максимальную тренировочную длину, мы кодировать не умеем — она вне ключей нашего словаря эмбеддингов, так же, как мы не можем закодировать и незнакомый модели токен. В это же время впервые появилась идея о том, что нам важны не столько абсолютные позиции слов, сколько относительные. Авторы статьи решили кодировать не абсолютную позицию, а только относительную (Relative Position Encoding, или RPE), то есть близость каждой пары токенов. Здесь же появилась идея, что позицонное кодирование стоит добавлять не в момент создания эмбеддингов слов, а на этапе Attention, добавляя знание о позициии в queries и keys.
feature1 feature2 feature3 0 1.0 10.0 NaN 1 2.0 NaN NaN 2 NaN 30.0 NaN 3 4.0 40.0 NaN feature1 feature2 feature3 0 1.00 10.0 NaN 1 2.00 26.7 NaN 2 2.33 30.0 NaN 3 4.00 40.0 NaNРешение задачи ⬇️
import pandas as pd def fill_missing_with_mean(df): numeric_columns = df.select_dtypes(include=['float', 'int']) for column in numeric_columns: if df[column].notna().any(): # Проверяем, есть ли значения не NaN df[column] = df[column].fillna(df[column].mean()) return df # Пример использования: data = pd.DataFrame({ 'feature1': [1.0, 2.0, None, 4.0], 'feature2': [10.0, None, 30.0, 40.0], 'feature3': [None, None, None, None] }) result = fill_missing_with_mean(data) print(result)
1. Регуляризация: • L1 и L2-регуляризация добавляют штраф к сложным моделям. • Уменьшают коэффициенты модели, предотвращая избыточное подстраивание. 2. Dropout (для нейронных сетей): • Исключение случайных нейронов на этапе обучения. 3. Снижение сложности модели: • Использование меньшего числа признаков или более простых алгоритмов. 4. Увеличение данных: • Генерация новых данных или увеличение объёма обучающей выборки.➡️ Пример:
from sklearn.linear_model import Ridge from sklearn.model_selection import train_test_split from sklearn.datasets import load_diabetes # Загружаем данные data = load_diabetes() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42) # Создаём модель с регуляризацией (Ridge) ridge = Ridge(alpha=1.0) ridge.fit(X_train, y_train) # Оцениваем качество train_score = ridge.score(X_train, y_train) test_score = ridge.score(X_test, y_test) print(f"Train Score: {train_score}, Test Score: {test_score}")🗣️ В этом примере Ridge-регрессия с параметром регуляризации alpha=1.0 помогает предотвратить переобучение, улучшая обобщающую способность модели. 🖥 Подробнее тут
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
