SHAP
SHAP (SHapley Additive exPlanations) — это библиотека для объяснения моделей машинного обучения, позволяющая интерпретировать прогнозы моделей, понимать, какие факторы вносят наибольший вклад в принятие решений моделью. Это полезный инструмент для анализа и интерпретации моделей, особенно в задачах, где объяснение результатов модели важно, например, в медицинских и финансовых приложениях.
Для использования библиотеки SHAP в Python вам необходимо установить ее и импортировать.
🔗 Python tricks
SHAP (SHapley Additive exPlanations) — это библиотека для объяснения моделей машинного обучения, позволяющая интерпретировать прогнозы моделей, понимать, какие факторы вносят наибольший вклад в принятие решений моделью. Это полезный инструмент для анализа и интерпретации моделей, особенно в задачах, где объяснение результатов модели важно, например, в медицинских и финансовых приложениях.
Для использования библиотеки SHAP в Python вам необходимо установить ее и импортировать.
🔗 Python tricks
Пророк
Пророк (Prophet) — это библиотека для анализа и прогнозирования временных рядов, разработанная командой Facebook. Она предоставляет простой и эффективный способ анализа данных временных рядов с трендами, сезонными компонентами и праздниками. Вы можете использовать библиотеку Prophet на Python для выполнения прогнозирования временных рядов.
В этом коде мы создаем искусственный временной ряд с линейным трендом и недельной сезонностью. Затем мы используем библиотеку Prophet для анализа и прогнозирования этого временного ряда. Код визуализирует оригинальные данные, тренд, сезонность и прогноз на будущие 30 дней.
🔗 Python tricks
Пророк (Prophet) — это библиотека для анализа и прогнозирования временных рядов, разработанная командой Facebook. Она предоставляет простой и эффективный способ анализа данных временных рядов с трендами, сезонными компонентами и праздниками. Вы можете использовать библиотеку Prophet на Python для выполнения прогнозирования временных рядов.
В этом коде мы создаем искусственный временной ряд с линейным трендом и недельной сезонностью. Затем мы используем библиотеку Prophet для анализа и прогнозирования этого временного ряда. Код визуализирует оригинальные данные, тренд, сезонность и прогноз на будущие 30 дней.
🔗 Python tricks
Инкапсуляция
Инкапсуляция — это принцип ограничения доступа к части реализации объекта от внешнего кода.
Это позволяет предотвратить непреднамеренное изменение внутреннего состояния объекта.
В Python инкапсуляция реализуется с помощью:
— Префикса
— Двойного префикса
Свойств (
🔗 Python tricks
Инкапсуляция — это принцип ограничения доступа к части реализации объекта от внешнего кода.
Это позволяет предотвратить непреднамеренное изменение внутреннего состояния объекта.
В Python инкапсуляция реализуется с помощью:
— Префикса
_
в именах атрибутов и методов класса. Это сигнализирует, что они предназначены только для внутреннего использования в классе.— Двойного префикса
__
в именах атрибутов методов (например, __private_method
). Такая запись делает их недоступными извне класса.Свойств (
property
) для контролируемого доступа к атрибутам класса.🔗 Python tricks
Модуль json
JSON (JavaScript Object Notation) это легковесный формат обмена данными. Людям его легко читать и вести в нем записи, а компьютеры запросто справляются с его синтаксическим анализом и генерацией.
В Python есть ряд пакетов, поддерживающих JSON, в частности metamagic.json, jyson, simplejson, Yajl-Py, ultrajson, и json.
🔗 Python tricks
JSON (JavaScript Object Notation) это легковесный формат обмена данными. Людям его легко читать и вести в нем записи, а компьютеры запросто справляются с его синтаксическим анализом и генерацией.
В Python есть ряд пакетов, поддерживающих JSON, в частности metamagic.json, jyson, simplejson, Yajl-Py, ultrajson, и json.
🔗 Python tricks
Модуль pickle
Модуль pickle реализует мощный алгоритм сериализации и десериализации объектов Python. "Pickling" - процесс преобразования объекта Python в поток байтов, а "unpickling" - обратная операция, в результате которой поток байтов преобразуется обратно в Python-объект. Так как поток байтов легко можно записать в файл, модуль pickle широко применяется для сохранения и загрузки сложных объектов в Python.
🔗 Python tricks
Модуль pickle реализует мощный алгоритм сериализации и десериализации объектов Python. "Pickling" - процесс преобразования объекта Python в поток байтов, а "unpickling" - обратная операция, в результате которой поток байтов преобразуется обратно в Python-объект. Так как поток байтов легко можно записать в файл, модуль pickle широко применяется для сохранения и загрузки сложных объектов в Python.
🔗 Python tricks
Моржовый оператор (Walrus Operator)
Моржовый оператор (Walrus operator) — это оператор :=, введенный в версии 3.8. Он позволяет одновременно присвоить значение переменной и вернуть его.
Синтаксис выглядит так:
Переменная доступна в остальной части выражения после оператора.
Это удобно при работе с выражениями со сложными вложенными операциями. Позволяет избежать повторного вычисления.
🔗 Python tricks
Моржовый оператор (Walrus operator) — это оператор :=, введенный в версии 3.8. Он позволяет одновременно присвоить значение переменной и вернуть его.
Синтаксис выглядит так:
имя_переменной := выражение
. Справа вычисляется выражение и присваивается переменной слеваПеременная доступна в остальной части выражения после оператора.
Это удобно при работе с выражениями со сложными вложенными операциями. Позволяет избежать повторного вычисления.
🔗 Python tricks
YAML
YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.
В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы. Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.
Модуль PyYAML позволяет использовать YAML в Python.
PyYAML позволяет хранить любые Python-объекты и экземпляры любых пользовательских классов.
🔗 Python tricks
YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.
В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы. Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.
Модуль PyYAML позволяет использовать YAML в Python.
PyYAML позволяет хранить любые Python-объекты и экземпляры любых пользовательских классов.
🔗 Python tricks
Географические карты в Python
Geoplotlib — это библиотека для создания географических визуализаций и карт. Она предоставляет простой и удобный интерфейс для создания различных типов географических карт, например: точечные карты, тепловые карты и т. д.
В этом примере мы использовали функцию geoplotlib.kde(). Эта функция создает тепловую карту, в качестве аргумента она принимает данные с географическими координатами, а также параметры bw (ширина полосы) и cut_below (порог отсечения).
Ширина полосы определяет степень сглаживания тепловой карты, а порог отсечения позволяет убрать из визуализации области с низкой плотностью точек.
Результатом работы кода будет интерактивная тепловая карта, на которой отображены области с наибольшей концентрацией фотографий. Вы можете масштабировать и перемещать карту для изучения данных.
🔗 Python tricks
Geoplotlib — это библиотека для создания географических визуализаций и карт. Она предоставляет простой и удобный интерфейс для создания различных типов географических карт, например: точечные карты, тепловые карты и т. д.
В этом примере мы использовали функцию geoplotlib.kde(). Эта функция создает тепловую карту, в качестве аргумента она принимает данные с географическими координатами, а также параметры bw (ширина полосы) и cut_below (порог отсечения).
Ширина полосы определяет степень сглаживания тепловой карты, а порог отсечения позволяет убрать из визуализации области с низкой плотностью точек.
Результатом работы кода будет интерактивная тепловая карта, на которой отображены области с наибольшей концентрацией фотографий. Вы можете масштабировать и перемещать карту для изучения данных.
🔗 Python tricks
NotImplemented
🔗 Python tricks
NotImplemented
представляет собой специальный объект-сентинель (или маркер), который обычно используется в методах классов или функциях для указания на то, что конкретная функциональность или реализация пока не были предоставлены. Это может быть полезным при создании абстрактных классов или интерфейсов, когда вы хотите, чтобы подклассы предоставляли свои собственные реализации методов.🔗 Python tricks
OrderedDict
Вы можете использовать
🔗 Python tricks
OrderedDict
— это улучшенная версия обычного словаря (dict), которая сохраняет порядок элементов в словаре в том порядке, в котором они были добавлены. Это означает, что при итерации по OrderedDict
, элементы будут возвращаться в том порядке, в котором они были добавлены в словарь.Вы можете использовать
OrderedDict
из модуля collections в Python для создания словаря с учетом порядка элементов. 🔗 Python tricks
re.findall()
Ее синтаксис выглядит следующим образом:
🔗 Python tricks
re.findall()
— это функция из модуля re
в Python, которая используется для поиска всех неперекрывающихся совпадений шаблона регулярного выражения в строке и возвращает список всех найденных совпадений.Ее синтаксис выглядит следующим образом:
re.findall(pattern, string, flags=0)Где:
pattern
— это регулярное выражение, которое вы хотите найти в строке.string
— строка, в которой вы хотите выполнить поиск.flags
(необязательный) — флаги, определяющие различные опции для выполнения поиска.re.findall()
возвращает список всех совпадений, найденных в строке. Если совпадений не найдено, он вернет пустой список.🔗 Python tricks
issubclass()
Функция
Синтаксис функции
🔗 Python tricks
Функция
issubclass()
в Python используется для проверки того, является ли один класс подклассом (наследником) другого класса. Она принимает два аргумента: класс (или кортеж классов) и потенциальный родительский класс. Функция возвращает True, если класс является подклассом указанного родительского класса, и False в противном случае.Синтаксис функции
issubclass()
выглядит следующим образом:issubclass(class, classinfo)Где:
class
: класс, который вы хотите проверить.classinfo
: класс (или кортеж классов), который вы хотите использовать в качестве родительского класса для проверки.🔗 Python tricks
Библиотека progressbar
Библиотека
Для установки библиотеки
🔗 Python tricks
Библиотека
progressbar
в Python предоставляет инструменты для создания и управления полосами прогресса (progress bars) в текстовом интерфейсе. С помощью этой библиотеки вы можете создавать индикаторы выполнения для долгих операций, чтобы пользователи могли видеть, сколько времени еще осталось до завершения задачи.Для установки библиотеки
progressbar
вы можете использовать инструмент управления пакетами pip
.progressbar
предоставляет различные настройки для кастомизации внешнего вида индикатора выполнения и его поведения. Вы можете настроить параметры, такие как ширина индикатора, символ, используемый для заполнения, и т. д. Более подробную информацию о настройке progressbar
можно найти в его документации.🔗 Python tricks
Библиотека scikit-image
scikit-image — это библиотека для обработки изображений.
Библиотека содержит множество полезных инструментов для работы с изображениями, включая:
— Фильтрация и преобразования изображений (размытие, поворот, масштабирование и т. д.).
— Сегментация изображений и анализ регионов.
— Обнаружение особых точек и линий (краев, углов, границ).
— Морфологические операции.
— Анализ текстур и цветов.
— Восстановление изображений и удаление шумов.
🔗 Python tricks
scikit-image — это библиотека для обработки изображений.
scikit-image
также удобна для применения в задачах компьютерного зрения.Библиотека содержит множество полезных инструментов для работы с изображениями, включая:
— Фильтрация и преобразования изображений (размытие, поворот, масштабирование и т. д.).
— Сегментация изображений и анализ регионов.
— Обнаружение особых точек и линий (краев, углов, границ).
— Морфологические операции.
— Анализ текстур и цветов.
— Восстановление изображений и удаление шумов.
🔗 Python tricks
Библиотека qiskit
Qiskit — это библиотека для работы с квантовыми вычислениями и квантовым программированием на Python.
Она позволяет реализовывать и тестировать квантовые алгоритмы на компьютере, а также выполнять их на реальных квантовых процессорах.
Основные возможности
— Создание и симуляция квантовых цепей.
— Работа с квантовыми алгоритмами (Гровера, Шора, квантовое Фурье-преобразование и др.).
— Оптимизация и компиляция квантовых программ.
— Интеграция с реальным квантовым оборудованием (квантовыми процессорами).
— Визуализация и анализ квантовых цепей.
🔗 Python tricks
Qiskit — это библиотека для работы с квантовыми вычислениями и квантовым программированием на Python.
Она позволяет реализовывать и тестировать квантовые алгоритмы на компьютере, а также выполнять их на реальных квантовых процессорах.
Основные возможности
Qiskit
:— Создание и симуляция квантовых цепей.
— Работа с квантовыми алгоритмами (Гровера, Шора, квантовое Фурье-преобразование и др.).
— Оптимизация и компиляция квантовых программ.
— Интеграция с реальным квантовым оборудованием (квантовыми процессорами).
— Визуализация и анализ квантовых цепей.
🔗 Python tricks
Красивый вывод списка
Обычный формат вывода списка с помощью print не очень удобен. Конечно, становится понятно, что из себя представляет список, но чаще всего пользователь не хочет видеть кавычки вокруг каждого элемента.
Метод join преобразовывает список в строку, рассматривая каждый элемент как строку. Разделителем является та строка, для которой был вызван join. Он достаточно умен, чтобы не вставлять разделитель после последнего элемента.
Дополнительный бонус: join работает линейное время. Никогда не создавайте строку складыванием элементов списка в цикле for: это не просто некрасиво, это занимает квадратичное время!
🔗 Python tricks
Обычный формат вывода списка с помощью print не очень удобен. Конечно, становится понятно, что из себя представляет список, но чаще всего пользователь не хочет видеть кавычки вокруг каждого элемента.
Метод join преобразовывает список в строку, рассматривая каждый элемент как строку. Разделителем является та строка, для которой был вызван join. Он достаточно умен, чтобы не вставлять разделитель после последнего элемента.
Дополнительный бонус: join работает линейное время. Никогда не создавайте строку складыванием элементов списка в цикле for: это не просто некрасиво, это занимает квадратичное время!
🔗 Python tricks
Создание графиков
Речь пойдет о библиотеке Leather, которая используется для создания графиков. В отличие от ряда подобных библиотек, Leather способна взаимодействовать с широким разнообразием данных и выводить их через векторную графику.
В примере используются следующие функции:
leather.Chart() — создает график с заданным заголовком.
chart.add_dots() — добавляет точки на график. Также в ней можно указать функцию для определения цвета точек.
chart.to_svg() — позволяет сохранить график в формате .svg в указанный файл.
На втором изображении представлен результат работы программы.
🔗 Python tricks
Речь пойдет о библиотеке Leather, которая используется для создания графиков. В отличие от ряда подобных библиотек, Leather способна взаимодействовать с широким разнообразием данных и выводить их через векторную графику.
В примере используются следующие функции:
leather.Chart() — создает график с заданным заголовком.
chart.add_dots() — добавляет точки на график. Также в ней можно указать функцию для определения цвета точек.
chart.to_svg() — позволяет сохранить график в формате .svg в указанный файл.
На втором изображении представлен результат работы программы.
🔗 Python tricks
Модуль Calendar
В Python есть встроенный модуль Calendar, который содержит полезные классы и функции для поддержки различных операций с календарем. По умолчанию модуль «Calendar» следует григорианскому календарю, где понедельник – это первый день (0) недели, а воскресенье –последний день недели (6).
Для печати календарей и управления ими в модуле Calendar есть 3 важных класса: Calendar, TextCalendar и HTMLCalendar.
🔗 Python tricks
В Python есть встроенный модуль Calendar, который содержит полезные классы и функции для поддержки различных операций с календарем. По умолчанию модуль «Calendar» следует григорианскому календарю, где понедельник – это первый день (0) недели, а воскресенье –последний день недели (6).
Для печати календарей и управления ими в модуле Calendar есть 3 важных класса: Calendar, TextCalendar и HTMLCalendar.
🔗 Python tricks
Модуль os
Модуль os из стандартной библиотеки языка программирования Python обычно используется для работы с установленной ОС, а также файловой системой ПК. Он содержит массу полезных методов для взаимодействия с файлами и папками на жестком диске. Программы, работающие с модулем os, не зависят от типа ОС и являются легко переносимыми на другую платформу.
🔗 Python tricks
Модуль os из стандартной библиотеки языка программирования Python обычно используется для работы с установленной ОС, а также файловой системой ПК. Он содержит массу полезных методов для взаимодействия с файлами и папками на жестком диске. Программы, работающие с модулем os, не зависят от типа ОС и являются легко переносимыми на другую платформу.
🔗 Python tricks