Data Science | Machinelearning [ru]
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM. Личный блог автора - @just_genych По вопросам рекламы или разработки - @g_abashkin РКН: https://vk.cc/cJPGXD
Show more📈 Analytical overview of Telegram channel Data Science | Machinelearning [ru]
Channel Data Science | Machinelearning [ru] (@devsp) in the Russian language segment is an active participant. Currently, the community unites 20 041 subscribers, ranking 6 738 in the Technologies & Applications category and 33 739 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 20 041 subscribers.
According to the latest data from 14 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -87 over the last 30 days and by -13 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 7.71%. Within the first 24 hours after publication, content typically collects 4.62% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 546 views. Within the first day, a publication typically gains 926 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 7.
- Thematic interests: Content is focused on key topics such as llm, nvidia, контекст, openai, архитектура.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.
Личный блог автора - @just_genych
По вопросам рекламы или разработки - @g_abashkin
РКН: https://vk.cc/cJPGXD”
Thanks to the high frequency of updates (latest data received on 15 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
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 помогает предотвратить переобучение, улучшая обобщающую способность модели. 🖥 Подробнее тут
Available now! Telegram Research 2025 — the year's key insights 
