PythonTalk
4.71K subscribers
1.41K photos
47 videos
7 files
1.29K links
Привет, меня зовут Олег Булыгин 👋

🐍 Здесь я делюсь полезной информацией для тех, кто пишет код на Python: от разработки до Data Science.

По вопросам: @obulygin91
加入频道
🍉 Как выбрать арбуз с помощью Python

Сезон арбузов в самом разгаре! Уже кушали? Если да, то точно столкнулись с извечной проблемой оптимизация процесса выбора арбуза.

Забываем дедовские методы, мы же не хотим полагаться на какую-то интуицию и субъективщину? В 21 веке такие важные решения должны приниматься исключительно на основе данных. Нам нужны метрики, пайплайны и воспроизводимые результаты!

Итак, представляю вам фреймворк Watermelon Driven Development (WDD).

Этап 1: Сбор данных

Подходим к арбузному развалу. Наша задача — собрать первичный датасет. Для каждого экземпляра (candidate) нам нужны следующие фичи:

- weight (float): Масса. Взвешиваем на местных весах. Если их нет — используем безмен или оцениваем на глаз, предварительно откалибровав руку на известном весе (например, на своем макбуке).
- volume (float): Объем. Определяется методом погружения в таз с водой, но на рынке это может вызвать подозрения. Поэтому аппроксимируем до эллипсоида и считаем по формуле. Замеры делаем рулеткой.
- acoustic_response (dict): Акустический отклик. Стучим по арбузу костяшкой пальца в трех разных точках (экватор, полюс №1, полюс №2). Записываем звук на диктофон. Позже прогоним через FFT-анализ для поиска резонансных частот.
- surface_pattern_complexity (float): Сложность паттерна полосок. Фотографируем и прогоняем через простенькую CV-модель для оценки энтропии изображения. Чем контрастнее и четче полоски — тем выше метрика.
- peduncle_dryness_coefficient (float): Коэффициент сухости хвостика. Значения от 0.0 (свежесрезанный, зеленый) до 1.0 (засохший, ломкий).
- stain_yellowness_index (int): Индекс желтизны земляного пятна. Используем цветовую палитру Pantone для точной оценки. Градация от 1 (белый) до 10 (насыщенно-желтый).

Этап 2: Препроцессинг и Feature Engineering

Сырые данные — мусор. Нам нужны производные признаки, которые действительно коррелируют с целевой переменной sweetness_score.

def preprocess_watermelon_data(candidates: list) -> pd.DataFrame:
processed_data = []
for candidate in candidates:
# Плотность - ключевой показатель!
candidate['density'] = candidate['weight'] / candidate['volume']

# Анализируем звук: "звонкий" звук имеет пик в определенном диапазоне частот
fft_peaks = analyze_fft(candidate['acoustic_response'])
candidate['is_sound_ringing'] = 500 < fft_peaks.main_freq < 800

# Нормализуем остальные фичи
# ... (тут сложная математика)

processed_data.append(candidate)

return pd.DataFrame(processed_data)


Этап 3: Модель принятия решений (Decision Model)

Никаких if-else! Это слишком примитивно. Мы будем использовать взвешенную скоринговую модель. Веса подобраны на основе анализа тысяч арбузов (нет).

# Веса фичей, подобранные экспертным путем в ходе A/B-теста
WEIGHTS = {
'density': 0.4,
'is_sound_ringing': 0.3,
'peduncle_dryness_coefficient': 0.15,
'stain_yellowness_index': 0.1,
'surface_pattern_complexity': 0.05,
}

def get_watermelon_score(candidate: pd.Series) -> float:
"""Рассчитывает итоговый скор для кандидата."""
score = 0
score += candidate['density'] * WEIGHTS['density']
score += candidate['is_sound_ringing'] * WEIGHTS['is_sound_ringing']
# ... и так далее для всех фичей
return score

# Выбираем арбуз с максимальным скором
best_watermelon = candidates_df.loc[candidates_df['score'].idxmax()]


Итоговый алгоритм:
1. Подходите к развалу.
2. Достаете ноутбук, весы, рулетку, диктофон и палитру Pantone.
3. На недоумевающие взгляды продавца и других покупателей отвечаете: "Спокойно, я шарю".
4. Скрупулезно собираете датасет по 5-10 кандидатам.
5. Запускаете Jupyter-ноутбук, выполняете все ячейки.
6. Модель выдает вам id лучшего арбуза.
7. Покупаете его.
8. Дома разрезаете... а он неспелый.

Потому что ваша модель переобучилась на локальных данных, не учла сезонные дрифты и аномалии в поставке! Нужна MLOps-инфраструктура, постоянный мониторинг и версионирование моделей. В следующем году построим.

#хих
😁298🤣53🔥31👍1👏11
Примеры функций для работы с файловой системой и файлами 🗂

– Что общего у программиста и пасечника?
– Импорт ос?
– import os


🤡 Пока вы перевариваете этот баян, переварите ещё и немного полезной информации 🤓
👍4🔥3😁21🙏1👌1💯1🏆1👾11
👨‍💻Вот постоянно слышу, что среди IT-специалистов очень распространён синдром самозванца (это когда, все считают, что ты право имеешь, а сам считаешь, что ты тварь дрожащая).

У меня тоже такие мысли, конечно, периодически проскакивают, но я давно нашёл очень простой способ с этим бороться.

🥁 Барабанная дробь... Раскрываю мегасекрет!

💬 Общайтесь с другими людьми!


Серьезно, кто постоянно в этом синдроме, вы вообще разговариваете с коллегами? 😅

Стоит мне пообсуждать с кем-то работу и любые другие профессиональные моменты, этот синдром очень быстро и надолго сдувает.
В "очередной раз" выясняется, что никто ни хрена не умеет, у всех везде велосипеды из говна и палок, вот-вот все рассыпится, сплошной треш и угар.

Главное — не получить синдром единственного адекватного человека в горящем дурдоме 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣13👍7😁5🔥2🤪2211👏1🙏1
Как выбрать стэк для ML-задач на соревнованиях?

Разбираемся на примере E-CUP 2025 от Ozon Tech. В новой статье собрали рабочие инструменты для решения типичных заданий по машинному обучению:
1️⃣ Рекомендации: предсказание следующей покупки пользователя.
2️⃣ Логистика: автопланирование курьеров.
3️⃣ Контроль качества: автоматическое выявление поддельных товаров.

Эти задачи предстоит решить на E-CUP 2025. Регистрация открыта до 17 августа включительно

Статья поможет разобраться, какие инструменты из богатой экосистемы open-source проектов лучше использовать на соревновании:
🔹 Библиотеки и фреймворки для построения рекомендательных систем и маршрутизации.
🔹 Градиентный бустинг и графовые нейросети.
🔹 Оптимизация маршрутов и работа с геоданными.
🔹 Поиск аномалий и дефектов, работа с мультимодальными данными.

Если вы участвуете в соревновании или просто ищете надежный стэк для ML-прототипов — читайте и сохраняйте: https://cnrlink.com/ecup25articlepytalk?erid=2W5zFJczGPr
👍42🔥1👨‍💻1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
Погружаемся в Матрицу! 🤖

Вышла Matrix-Game 2.0 — интерактивная модель мира, которая в реальном времени (25 FPS!) генерирует окружение по командам с клавиатуры и мыши.

Проще говоря: вы жмете «W», и нейросеть на лету дорисовывает вам мир в стиле GTA или Minecraft, в котором вы движетесь вперед. Это уже не «сделай мне ролик», а «построй мне мир, я в нем поиграю».

Все это добро опенсорсное и на Python.

GTA VII уже будет полностью так генерироваться? 🤔

Для тех, кто хочет попробовать — написал гайд по запуску у себя на машине, с разбором зависимостей и кода.

👉 Читать здесь

#щупаем_сорцы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤯21🔥1😱11
Создали две переменные, используя фигурные скобки. В одной пусто, в другой – ноль. Потом сравнили их типы.

Казалось бы, что тут сложного?
👍1🙏1👌1
Что получим при запуске кода?
Anonymous Quiz
27%
True
6%
None
54%
False
13%
TypeError
3👍2👌2🙏1
Чего там, группу в Max 💩 уже надо переводить или ещё живём несколько месяцев?
Please open Telegram to view this post
VIEW IN TELEGRAM
19😁10😭6🤷‍♂3😢3🤣3🤷‍♀2🤬2🤡1🥴1🤷1
Онлайн-сервис по охране и защите интеллектуальной собственности n’RIS представил новый лендинг — Tech n’RIS, созданный для депонирования и защиты интеллектуальной собственности в научно-технической сфере. Сервис ориентирован на разработчиков программного обеспечения, инженеров, ученых, химиков и фармацевтов.
 
Tech n’RIS помогает обеспечить правовую защиту тем объектам, которые не всегда подпадают под патентование, часто нуждаются в обновлениях, долго находятся в процессе государственной регистрации или требуют дополнительного подтверждения авторства — например, элементы ПО, проектные файлы, исследовательские отчеты.
 
Платформа позволяет фиксировать авторские права на любой стадии проекта: от технической документации до готового решения. В том числе поддерживается депонирование по хешу — без раскрытия сути разработки, что актуально для ноу-хау. Все данные хранятся в зашифрованном виде, а подтверждением служит свидетельство о депонировании с цифровой подписью и штампом даты и времени КриптоПро. Сведения о депонировании фиксируются в виде транзакции в блокчейн, что исключает возможность подделки или удаления данных.
Подробнее — на новом лендинге Tech n’RIS.
👍5🤔1🆒1
Вводим «санкции» и «тарифы» на импорт Python-библиотек 🗽

Наткнулся на забавный пакет tariff. Он позволяет делать вот так:

import tariff

# Вводим пошлины на "иностранные" пакеты
tariff.set({
"numpy": 50,
"pandas": 200,
})

# Теперь импорт будет медленнее...
import pandas


И после этого в консоль выводится сообщение в стиле Трампа:

JUST IMPOSED a 200% TARIFF on pandas! Original import took 87103 us, now takes 261309 us. American packages are WINNING AGAIN! #MIGA


Это, конечно, 10/10 😂

Для тех, кто в теме, это абсолютно шикарная демонстрация monkey-patching'а builtins.__import__.

Вот сам репо ◀️
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣74🤪3🔥1😁1
Собрали для Вас подборку нужных каналов.🧑‍💻

🐍 👩‍💻 $ sudo teach IT - рай для ботоделов!

- Как создать Телеграм-Бот?
- Где найти заказы?
- Как писать профессиональный код под высоконагруженные сервисы?

Начните свой практический путь в мире айти!

🐍Data Science | Machinelearning [ru] - Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence)

🐍Node.JS [ru] | Серверный JavaScript - Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

🖥 PytStart - стартуй в Python с нами!

🐍 PythonTalk. Авторский канал, где Python, AI и здравый смысл встречаются. Разбор свежих open-source инструментов, мануалы, новости с IT-передовой и трезвый взгляд на AI-хайп.

🐍Indigo Python - твой путь к мастерству в коде!

🐍Канал вирусного аналитика, занимающегося безопасностью опенсорса и технологиями искусственного интеллекта.

Хочешь участвовать в подборке? Пиши!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2🙏11
🎓Полный гайд по List Comprehensions в Python

В Python существует множество способов решить одну и ту же задачу, но не все они одинаково «питоничные». Классический подход к созданию списков через цикл for и метод .append() — яркий тому пример. Он работает, но часто бывает многословным и менее читаемым.

Именно для таких случаев и существуют списковые включения (List Comprehensions) — инструмент для создания списков в одну строку, декларативно и эффективно.

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

В общем, всё, что нужно, чтобы писать более чистый, выразительный и зачастую более быстрый код.
4👍211🔥1🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
Anthropic выкатили интересный апдейт для Claude Code: теперь можно переключить режим вывода кода командой /output-styles на режимы:

1️⃣ Explanatory: Claude не просто пишет код, а комментирует каждое свое решение. Почему выбрал именно такую архитектуру, какие были альтернативы, какие плюсы и минусы у подхода. По сути, это эмуляция опытного программиста, который сидит рядом и вслух проговаривает свой мыслительный процесс.

2️⃣ Learning: ИИ пишет код, а потом в ключевых местах останавливается, вставляет #TODO и говорит: "а вот этот кусок допиши-ка сам". Как бы парное программирование с ментором, который заставляет тебя думать, а не тупо копипастить.

Чтобы не брейнротить от копипасты любых ответов и для обучение — любопытный инструмент.
👍3🔥21🤔1🙏1