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 19 838 subscribers, ranking 6 500 in the Technologies & Applications category and 33 302 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 19 838 subscribers.
According to the latest data from 07 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -44 over the last 30 days and by 46 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 8.21%. Within the first 24 hours after publication, content typically collects 5.04% reactions from the total number of subscribers.
- Post reach: On average, each post receives 1 628 views. Within the first day, a publication typically gains 1 000 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 5.
- 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 08 September, 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.
• SQL, Amplitude, Анализ данных, Веб-аналитика
• от 2 000 $ | более 3 лет
Дата инженер
• Python, Apache Hadoop, Apache Spark, Apache Airflow, Apache Kafka
• Уровень дохода не указан | от 2–3 лет
Senior Data Scientist в команду ценообразования
• Python, SQL
• Уровень дохода не указан | от 3 лет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)
