Простой Python | Программирование
143K subscribers
2.26K photos
36 videos
1.3K links
Заявки принимаются автоматически.
Лучший образовательный канал по Python.

По всем вопросам: @dimaa_dimaa (реклама)

Ссылка на канал: https://t.me/+T1i5nO0m_h01ZDky
.
РКН: https://vk.cc/cJ5box
Помощь:https://telega.in/c/+T1i5nO0m_h01ZDky
Download Telegram
Генерация двухмерной полигональной карты

В данной статье автор рассматривает задачу процедурной генерации двухмерной полигональной карты. Рассматривается решение и ключевые использованные принципы.

👉Читать статью

#статьи
👍9
Дерево решений: Часть 2

Алгоритм деления работает по принципу максимизации чистоты внутри подмножеств. В классификации чаще всего используется Gini impurity или энтропия: они показывают, насколько хорошо разделились классы после сплита. В регрессии — снижение дисперсии (variance reduction). На каждом шаге дерево перебирает все признаки и находит такое условие, которое максимально эффективно делит выборку на две группы с минимальной “грязью”.

Однако у данного алгоритма есть некоторые недостатки. Деревья легко переобучаются, особенно если не ограничивать глубину. Они могут давать нестабильные результаты при небольшом изменении данных (особенно одиночные деревья). Чтобы побороть эти минусы, придумали ансамбли — такие как Random Forest и Gradient Boosting, где используется много деревьев сразу, и это даёт намного более стабильный и мощный результат.

💻Ссылка на первую часть

#практика
👍14
MongoDB: Поиск на совпадение в тексте

Делимся циклом видео, благодаря которому ты научишься пользоваться MongoDB. В этот раз автор рассказывает, какой функционал поможет тебе искать данные. В качестве примера продемонстрирован поиск на совпадение в тексте.

👀Смотреть видео

#видео
👍7🤣1
Flask: Использование JavaScript

Продолжаем делиться циклом статей, благодаря которому ты научишься пользоваться Flask. В этот раз автор демонстрирует создание всплывающего окна при наведении курсора мыши на ник пользователя.

👉Читать статью

#статьи #flask
👍15🔥2
Random Forest

Random Forest — это не одно дерево, а сразу много. Каждый “деревце” в лесу обучается на случайной части данных и с использованием случайного поднабора признаков. Когда нужно предсказать класс или значение, все деревья голосуют, и побеждает большинство (в классификации) или усреднённый ответ (в регрессии). В результате снижается переобучение по сравнению с одиночным деревом, а сама модель меньше зависит от случайных шумов.

Сначала из обучающей выборки с помощью бутстрэпа выбирается случайная подвыборка (с возвращением). Для каждого дерева берётся случайный набор признаков. Все деревья предсказывают, и итоговый ответ — это агрегация: большинство голосов в классификации или среднее значение в регрессии.

Обрати внимание на пример. n_estimators определяет, сколько деревьев. max_depth — максимальная глубина каждого дерева. random_state — фиксируем сид, чтобы результат был воспроизводим. Можно добавлять class_weight='balanced', если классы несбалансированы.

#практика
👍12🔥2
FastAPI: Работа с базой данных

Продолжаем делиться циклом видео, благодаря которому ты научишься пользоваться FastAPI библиотекой. В этот раз ты установишь SQLAlchemy и настроишь работу с базой данных.

👀Смотреть видео

#видео
👍7
Как сделать свой RAG?

Представь, что у тебя есть умный робот, который умеет отвечать на вопросы. Но чтобы давать самые точные ответы, он сначала ищет информацию в книгах или интернете, а потом формирует ответ.

RAG (Retrieval-Augmented Generation) — это метод, который делает нейросетевой текстовый генератор (например, GPT) умнее и точнее за счёт поиска информации внешних источников перед генерацией ответа. Благодаря данной статье ты узнаешь, как создать собственный RAG.

👉Читать статью

#статьи
😁15👍8🤣5🔥2
Инструменты для работы с графикой

В данной подборке автор рассказывает про шесть лучших инструментов для работы с графикой. Они выделяются от остальных инструментов своими функциями, активностью сообщества и фишками.

👉Читать статью

#статьи
🔥10👍1
Работа с Selenium: Часть 10

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

👀Смотреть видео

#видео
👍10🔥1
Современные реализации бустинга

Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.

Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.

LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.

#практика
👍10🔥2
Симуляция частиц с Pygame

С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.

При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.

#практика
🔥32👍12
FastAPI: Разработка веб-проекта

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

👀Смотреть видео

#видео
👍8
Go и Python: Что лучше для веб-скрейпинга?

И Go, и Python могут использоваться для веб-скрейпинга, но у каждого свои плюсы и минусы. Благодаря данной статье ты узнаешь о преимуществах каждого из языков, чтобы сделать оптимальный выбор для своего следующего проекта.

👉Читать статью

#статьи
👍6
Система поиска похожих изображений

Сделаем простую систему поиска похожих изображений. Сделаем ее без использования ИИ: для определения схожести мы будем переводить изображения в числовые векторы признаков, а векторы сравнивать с помощью расстояния.

Логика кода проста. Сначала мы превращаем все изображения базы в векторы. Затем извлекаются признаки из запроса. Вычисляем сходство между запросом и базой и в результате выводим топ-N наиболее похожих изображений.

При желании можно улучшить код. Например, вместо простых цветов взять признаки через нейросеть, или выделить отдельные признаки для поиска по цвету, текстуре, объемам.

#практика
👍34
Задачи с LeetCode: Container With Most Water

Делимся циклом видео, где автор решает различные задачи с LeetCode.

Дан список целых неотрицательных чисел height, где каждый элемент представляет собой высоту вертикальной линии, нарисованной на координатной плоскости. Линии стоят вертикально и на одинаковом расстоянии друг от друга. Нужно выбрать две такие линии, чтобы с осью X они образовывали контейнер, вмещающий максимальное количество воды.

👀Смотреть видео

#видео
👍10