Создаем графики в терминале
Например, вы можете использовать
🔗 Python tricks
Bashplotlib
— это библиотека Python и инструмент командной строки для создания базовых графиков в терминале. Это быстрый способ визуализации данных, когда у вас нет GUI. Она написана на чистом Python и может быть быстро установлена в любом месте с помощью pip.Например, вы можете использовать
Bashplotlib
для создания гистограммы из массива данных. В этом примере функция plot_hist
используется для отображения данных на одномерной гистограмме.🔗 Python tricks
__missing__
Метод
Этот метод может быть полезен при решении различных задач, например, при подсчете элементов или при работе со словарями, где отсутствующие ключи должны иметь определенное значение по умолчанию.
В этом примере мы создаем экземпляр класса
🔗 Python tricks
Метод
__missing__
определяет поведение подкласса словаря при доступе к несуществующему ключу. Более конкретно, внутренний метод словаря __getitem__
вызывает метод __missing__
, если ключ не существует.Этот метод может быть полезен при решении различных задач, например, при подсчете элементов или при работе со словарями, где отсутствующие ключи должны иметь определенное значение по умолчанию.
В этом примере мы создаем экземпляр класса
DefaultDict
с значением по умолчанию 'default
'. Когда мы пытаемся получить доступ к несуществующему ключу 'key
', вызывается метод __missing__
, который возвращает значение по умолчанию.🔗 Python tricks
doctest
Модуль
Модуль
В этом примере мы определяем функцию
При запуске кода вы увидите подробный вывод о том, какие doctest’ы были выполнены и какие результаты они вернули.
🔗 Python tricks
Модуль
doctest
позволяет проверять интерактивные примеры кода Python, встроенные в документацию. Этот модуль ищет фрагменты текста, которые выглядят как интерактивные сеансы Python, и затем выполняет эти сеансы, чтобы убедиться, что они работают точно так же, как показано.Модуль
doctest
может быть полезен при написании документации для пакета или модуля, а также при написании тестов для проверки корректности работы кода.В этом примере мы определяем функцию
square
, которая возвращает квадрат числа x
. В докстринге функции мы включаем несколько интерактивных примеров использования функции. Затем мы импортируем модуль doctest
и вызываем метод testmod
, который автоматически находит и проверяет все doctest’ы в текущем модуле.При запуске кода вы увидите подробный вывод о том, какие doctest’ы были выполнены и какие результаты они вернули.
🔗 Python tricks
Что такое синхронный код
Синхронный код — это код, который выполняется последовательно, один за другим, и блокирует выполнение других задач до его завершения. Это означает, что если у вас есть функция, которая занимает много времени на выполнение, и вы вызываете ее в основной программе, то выполнение программы заблокируется до завершения этой функции.
🔗 Python tricks
Синхронный код — это код, который выполняется последовательно, один за другим, и блокирует выполнение других задач до его завершения. Это означает, что если у вас есть функция, которая занимает много времени на выполнение, и вы вызываете ее в основной программе, то выполнение программы заблокируется до завершения этой функции.
🔗 Python tricks
Почему иногда Python так долго запускается в Windows
Запуск Python может занимать длительное время на компьютерах с операционной системой Windows по нескольким причинам. Вот некоторые из них:
Перезагрузка компьютера может занять длительное время и затормозить работу Python;
Некоторые антивирусные программы и брандмауэры могут занимать ресурсы и замедлять выполнение команд в Python;
Операционная система Windows может использовать много ресурсов, когда запускаются приложения, и это может сказаться на производительности Python;
Зависимости и модули Python, которые используются в приложении, могут занимать много времени на импорт и загрузку;
Неэффективный код Python может приводить к значительным задержкам и замедлениям;
Другие приложения, работающие на компьютере, могут занимать много времени на выполнение задач и затруднять работу Python;
🔗 Python tricks
Запуск Python может занимать длительное время на компьютерах с операционной системой Windows по нескольким причинам. Вот некоторые из них:
Перезагрузка компьютера может занять длительное время и затормозить работу Python;
Некоторые антивирусные программы и брандмауэры могут занимать ресурсы и замедлять выполнение команд в Python;
Операционная система Windows может использовать много ресурсов, когда запускаются приложения, и это может сказаться на производительности Python;
Зависимости и модули Python, которые используются в приложении, могут занимать много времени на импорт и загрузку;
Неэффективный код Python может приводить к значительным задержкам и замедлениям;
Другие приложения, работающие на компьютере, могут занимать много времени на выполнение задач и затруднять работу Python;
🔗 Python tricks
Twisted
Фреймворк включает в себя следующие модули:
В этом примере мы создаем класс
Затем мы создаем класс
Наконец, мы используем реактор
🔗 Python tricks
Twisted
— это асинхронный фреймворк, написанный на Python. Это мощное средство для быстрой разработки сетевых (и не только) сервисов. Он разработан с использованием паттерна проектирования Reactor. Фреймворк включает в себя следующие модули:
twisted.web
; twisted.conch
; twisted.words
; twisted.mail
; twisted.positioning
; twisted.names
; twisted.trial
.В этом примере мы создаем класс
Echo
, который переопределяет метод dataReceived
. Этот метод вызывается каждый раз, когда сервер получает данные от клиента.Затем мы создаем класс
EchoFactory
, который переопределяет метод buildProtocol
. Этот метод вызывается каждый раз, когда сервер принимает новое соединение.Наконец, мы используем реактор
Twisted
для прослушивания входящих соединений на порту 1234 и запускаем реактор. Когда клиент подключается к серверу и отправляет данные, сервер отправляет эти данные обратно клиенту.🔗 Python tricks
Pyro4
Это библиотека, которая позволяет вам создавать приложения, в которых объекты могут общаться друг с другом через сеть с минимальными усилиями по программированию.
Он разработан таким образом, чтобы быть очень простым в использовании и, как правило, не мешать вам. Но он также предоставляет набор мощных функций, которые позволяют вам быстро и без усилий создавать распределенные приложения.
В этом примере мы используем
🔗 Python tricks
Это библиотека, которая позволяет вам создавать приложения, в которых объекты могут общаться друг с другом через сеть с минимальными усилиями по программированию.
Он разработан таким образом, чтобы быть очень простым в использовании и, как правило, не мешать вам. Но он также предоставляет набор мощных функций, которые позволяют вам быстро и без усилий создавать распределенные приложения.
В этом примере мы используем
Pyro4
для создания распределенного приложения, в котором объекты могут общаться друг с другом через сеть. Мы создаем удаленный объект GreetingMaker
, который имеет метод get_fortune
, который возвращает случайное приветствие. Затем запускаем сервер Pyro4
, который предоставляет доступ к этому объекту через сеть.🔗 Python tricks
Prophet
В этом примере мы загружаем данные о пассажирах авиакомпании, подготавливаем их для использования в модели
Результат работы этого кода — график с прогнозом количества пассажиров авиакомпании на будущий период. Визуализация также показывает компоненты прогноза: тренд, сезонность и праздники.
🔗 Python tricks
Prophet
— это библиотека прогнозирования временных рядов с открытым исходным кодом, разработанная командой Facebook. Она доступна как для Python, так и для R. Prophet
предназначен для создания высококачественных прогнозов для принятия решений, не требуя от пользователя экспертных знаний по прогнозированию временных рядов.В этом примере мы загружаем данные о пассажирах авиакомпании, подготавливаем их для использования в модели
Prophet
, создаем и обучаем модель, создаем будущие даты для прогнозирования, делаем прогноз и визуализируем его.Результат работы этого кода — график с прогнозом количества пассажиров авиакомпании на будущий период. Визуализация также показывает компоненты прогноза: тренд, сезонность и праздники.
🔗 Python tricks
Eve
В этом примере мы импортируем класс
В результате — запущенный веб-сервер с RESTful API, который можно использовать для обмена данными между клиентом и сервером.
*REST API — это API, построенный с учетом ограничений REST. Это означает, что REST API использует HTTP-методы (
🔗 Python tricks
Eve
— это фреймворк для создания REST API на языке Python с открытым исходным кодом. Он позволяет легко создавать и развертывать высоко настраиваемые, полнофункциональные RESTful веб-сервисы. Eve
предлагает встроенную поддержку для MongoDB
и SQL-бэкендов через расширения сообщества. В этом примере мы импортируем класс
Eve
из модуля eve
, создаем экземпляр приложения Eve
и запускаем его. Теперь API активен и готов к использованию.В результате — запущенный веб-сервер с RESTful API, который можно использовать для обмена данными между клиентом и сервером.
*REST API — это API, построенный с учетом ограничений REST. Это означает, что REST API использует HTTP-методы (
GET
, POST
, PUT
, DELETE
и т. д.) для выполнения операций над ресурсами (данными), представленными в виде URI (Uniform Resource Identifier).🔗 Python tricks
Как работать с транзитивными зависимостями
Для работы с транзитивными зависимостями можно использовать систему управления зависимостями, например, pipenv, poetry или pip. Эти системы позволяют устанавливать зависимости и их транзитивные зависимости, а также контролировать версии зависимостей.
🔗 Python tricks
Для работы с транзитивными зависимостями можно использовать систему управления зависимостями, например, pipenv, poetry или pip. Эти системы позволяют устанавливать зависимости и их транзитивные зависимости, а также контролировать версии зависимостей.
🔗 Python tricks
Annoy
В этом примере мы создаем индекс
Результат работы кода - список из 1000 индексов элементов, которые являются ближайшими соседями для элемента с индексом 0.
🔗 Python tricks
Annoy
(Approximate Nearest Neighbors Oh Yeah) — это библиотека, которая используется для поиска точек в пространстве, близких к заданной точке запроса. Она также создает большие файловые структуры данных только для чтения, которые отображаются в память, чтобы многие процессы могли использовать одни и те же данные.В этом примере мы создаем индекс
Annoy
с длиной вектора элемента f
и используем расстояние angular
. Затем мы добавляем 1000 элементов со случайными значениями в индекс и строим его с использованием 10 деревьев. После этого мы сохраняем индекс в файл test.ann
. Затем мы загружаем индекс из файла и выполняем поиск 1000 ближайших соседей для элемента с индексом 0.Результат работы кода - список из 1000 индексов элементов, которые являются ближайшими соседями для элемента с индексом 0.
🔗 Python tricks
Auto-sklearn
В этом примере мы создаем экземпляр классификатора
Результат работы кода — массив предсказанных меток классов для тестовых данных
🔗 Python tricks
Auto-sklearn
— это автоматизированный инструмент машинного обучения и замена для оценщика scikit-learn
. Он предназначен для автоматического обнаружения хорошо работающих моделей для задач прогнозного моделирования с минимальным участием пользователя.В этом примере мы создаем экземпляр классификатора
AutoSklearnClassifier
и обучаем его на тренировочных данных X_train
и y_train
. Затем мы используем обученный классификатор для предсказания меток классов для тестовых данных X_test
.Результат работы кода — массив предсказанных меток классов для тестовых данных
X_test
.🔗 Python tricks
VisPy
В этом примере мы создаем данные для точечного графика с
Результат работы кода - отображение окна с интерактивным точечным графиком.
🔗 Python tricks
VisPy
— это высокопроизводительная интерактивная библиотека визуализации данных 2D/3D. VisPy
использует вычислительную мощность современных графических процессоров через библиотеку OpenGL
для отображения очень больших наборов данных. VisPy
способна создавать высококачественные интерактивные научные графики с миллионами точек.В этом примере мы создаем данные для точечного графика с
N
точками и цветами. Затем мы создаем канвас и добавляем на него точечный график с помощью класса Markers
. Наконец, мы запускаем приложение с помощью app.run()
.Результат работы кода - отображение окна с интерактивным точечным графиком.
🔗 Python tricks
Объясните, что такое monkey patching и приведите пример
Monkey patching — это техника изменения поведения кода во время выполнения путем динамической замены или добавления методов или атрибутов в существующем объекте. Эта техника может быть полезна в том случае, когда изменения не могут быть внесены в существующий код, и требует минимальных изменений в существующем коде.
🔗 Python tricks
Monkey patching — это техника изменения поведения кода во время выполнения путем динамической замены или добавления методов или атрибутов в существующем объекте. Эта техника может быть полезна в том случае, когда изменения не могут быть внесены в существующий код, и требует минимальных изменений в существующем коде.
🔗 Python tricks
dict.items
Метод items() возвращает объект представления, который отображает список пар кортежей словаря (ключ, значение). Если список обновляется в любое время, изменения отражаются на самом объекте представления, как показано в приведенном выше примере.
🔗 Python tricks
Метод items() возвращает объект представления, который отображает список пар кортежей словаря (ключ, значение). Если список обновляется в любое время, изменения отражаются на самом объекте представления, как показано в приведенном выше примере.
🔗 Python tricks
Dask
В этом примере мы создаем массив
Результат работы кода - массив
🔗 Python tricks
Dask
— это гибкая библиотека для параллельных вычислений. Dask
состоит из двух частей: динамического планирования задач, оптимизированного для вычислений, и коллекций "больших данных", таких как параллельные массивы, фреймы данных и списки, которые расширяют общие интерфейсы, такие как NumPy
, Pandas
или итераторы Python, до сред больше памяти или распределенных сред.В этом примере мы создаем массив
Dask
x
размером 10000x10000 с чанками размером 1000x1000. Затем мы выполняем несколько операций над массивом x
, включая транспонирование, срез и вычисление среднего значения. Наконец, мы вызываем метод compute()
для вычисления результата.Результат работы кода - массив
NumPy
со средними значениями по строкам для каждой второй строки в срезе y[::2, 5000:]
.🔗 Python tricks
Catboost
В этом примере мы импортируем
Результат работы кода будет зависеть от входных данных. В этом примере используются случайные данные для обучения и тестирования. В реальных ситуациях данные будут отличаться.
🔗 Python tricks
CatBoost
это быстрая, масштабируемая и высокопроизводительная библиотека градиентного бустинга на деревьях решений, используемая для ранжирования, классификации, регрессии и других задач машинного обучения для Python, R, Java, C++. Поддерживает вычисления на CPU и GPU.В этом примере мы импортируем
CatBoostClassifier
из catboost
и создаем экземпляр классификатора с определенными параметрами. Затем мы обучаем модель на тренировочных данных и метках с помощью метода fit
. После обучения мы можем использовать методы predict
и predict_proba
для получения предсказаний классов и вероятностей соответственно.Результат работы кода будет зависеть от входных данных. В этом примере используются случайные данные для обучения и тестирования. В реальных ситуациях данные будут отличаться.
🔗 Python tricks
LIME
LIME (Local Interpretable Model-agnostic Explanations) - это проект, который объясняет, что делают модели машинного обучения.
В этом примере мы загружаем данные о качестве вина и разделяем их на тренировочные и тестовые. Затем мы обучаем модель
🔗 Python tricks
LIME (Local Interpretable Model-agnostic Explanations) - это проект, который объясняет, что делают модели машинного обучения.
lime
поддерживает объяснения для табличных моделей, текстовых классификаторов и классификаторов изображений.В этом примере мы загружаем данные о качестве вина и разделяем их на тренировочные и тестовые. Затем мы обучаем модель
RandomForestClassifier
на тренировочных данных. Далее мы создаем объект LimeTabularExplainer
из библиотеки lime
, который используется для интерпретации предсказаний модели. Мы выбираем индекс объекта из тестовых данных и используем метод explain_instance
для получения объяснения предсказания модели для этого объекта.🔗 Python tricks
H2Oai
В этом примере мы импортируем
Затем мы создаем экземпляр
🔗 Python tricks
H2O.ai
предоставляет модуль Python, который дает доступ к H2O JVM
, а также к его расширениям, объектам, алгоритмам машинного обучения и возможностям поддержки моделирования, таким как базовое преобразование данных и генерация признаков. H2O JVM
предоставляет веб-сервер, чтобы все общение происходило через сокет (указанный IP-адресом и портом) с помощью серии вызовов REST
.В этом примере мы импортируем
H2OGradientBoostingEstimator
из библиотеки h2o
и инициализируем H2O
с помощью init
. Затем загружаем данные и разделяем их на тренировочные и тестовые. Далее мы определяем признаки и целевую переменную для обучения модели. Затем мы создаем экземпляр
H2OGradientBoostingEstimator
и обучаем его на тренировочных данных с помощью метода train
. После обучения мы можем использовать метод model_performance
для оценки качества модели на тестовых данных.🔗 Python tricks