Разъяснивший Python – Telegram
Разъяснивший Python
7.68K subscribers
2.8K photos
40 videos
30 files
2.68K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
LIME

LIME (Local Interpretable Model-agnostic Explanations) - это проект, который объясняет, что делают модели машинного обучения. lime поддерживает объяснения для табличных моделей, текстовых классификаторов и классификаторов изображений.

В этом примере мы загружаем данные о качестве вина и разделяем их на тренировочные и тестовые. Затем мы обучаем модель RandomForestClassifier на тренировочных данных. Далее мы создаем объект LimeTabularExplainer из библиотеки lime, который используется для интерпретации предсказаний модели. Мы выбираем индекс объекта из тестовых данных и используем метод explain_instance для получения объяснения предсказания модели для этого объекта.

Разъяснивший Python
| ChatGPT
🔥1
H2Oai

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

H2O JVM предоставляет веб-сервер, чтобы все общение происходило через сокет (указанный IP-адресом и портом) с помощью серии вызовов REST.

В этом примере мы импортируем H2OGradientBoostingEstimator из библиотеки h2o и инициализируем H2O с помощью init. Затем загружаем данные и разделяем их на тренировочные и тестовые. Далее мы определяем признаки и целевую переменную для обучения модели.

Затем мы создаем экземпляр H2OGradientBoostingEstimator и обучаем его на тренировочных данных с помощью метода train. После обучения мы можем использовать метод model_performance для оценки качества модели на тестовых данных.

Разъяснивший Python | ChatGPT
SHAP

SHAP (SHapley Additive exPlanations) — это игровой подход к объяснению вывода любой модели машинного обучения. Он соединяет оптимальное распределение кредитов с локальными объяснениями, используя классические значения Шэпли из теории игр и связанные с ними расширения.

В этом примере мы загружаем модель бостон и разделяем ее на тренировочные и тестовые. Затем мы обучаем модель градиентного бустинга xgboost на тренировочных данных. Далее мы создаем объект Explainer из библиотеки shap, который используется для интерпретации предсказаний модели. Вызываем метод __call__ у объекта explainer с тестовыми данными в качестве аргумента для получения значений SHAP для этих данных.

Разъяснивший Python | ChatGPT
👍1
Перечисление

Функция enumerate() добавляет счетчик к итерируемому объекту и возвращает его в виде объекта перечисления.

Этот перечисляемый объект затем может быть использован непосредственно для циклов или преобразован в список кортежей с помощью функции list().

Разъяснивший Python | ChatGPT
👍1
Docxtpl

Docxtpl — это библиотека Python, предназначенная для генерации документов Word из шаблонов. Она позволяет легко создавать динамические документы, вставляя данные из Python в шаблон docx.

Разъяснивший Python | ChatGPT
Генераторные фунции (generator functions)

Если предикатов фильтрации или обработчиков элементов списка много, то удобнее использовать генераторы. Они могут не дать прироста скорости, но помогут сэкономить память.

Генераторной фунцией в python называется функция, которая ведет себя как итератор. Для определения генераторной функции нужно использовать ключевое слово yield.

Разъяснивший Python
| ChatGPT
Marshmallow

Marshmallow — это легкая библиотека Python, предназначенная для преобразования сложных объектов в простые типы данных Python и обратно. Она широко используется для сериализации и десериализации данных, особенно в веб-приложениях.

Разъяснивший Python | ChatGPT
NumPy: copy

numpy.copy() в библиотеке NumPy используется для создания копии массива или подмассива. Когда ты присваиваешь один массив другому, оба массива начинают указывать на одни и те же данные. Используя numpy.copy(), ты создаешь новый массив, который содержит копию данных из оригинального массива. Это позволяет изменять его без изменения оригинала.

Разъяснивший Python | ChatGPT
👍1
UltraJSON

UltraJSON — это высокопроизводительный модуль JSON для Python, который является альтернативой стандартному модулю json. Он оптимизирован для скорости и эффективности, делая его идеальным выбором для приложений, которым требуется высокая производительность при работе с JSON.

Разъяснивший Python | ChatGPT
Zappa

Zappa — это инструмент с открытым исходным кодом, который позволяет легко создавать, развертывать и обновлять веб-приложения Python (включая, но не ограничиваясь WSGI-приложениями) на AWS Lambda + API Gateway.

Разъяснивший Python | ChatGPT
PyDy

PyDy — это библиотека Python для динамического моделирования и управления роботами. Она позволяет создавать модели роботов, симулировать их движение и управлять ими.

Разъяснивший Python | ChatGPT
Конструктор

Метод, который вызывается при создании объектов, в ООП зовётся конструктором. Он нужен для объектов, которые изначально должны иметь какие-то значение. Например, пустые экземпляры класса "Студент" бессмысленны, и желательно иметь хотя бы минимальный обозначенный набор вроде имени, фамилии и группы.

В качестве Питоновского конструктора выступает метод init()

Разъяснивший Python | ChatGPT
👍6
Методы сравнения объектов между собой (ч.1)

Метод lt(self, other) в Python позволяет определить порядок сортировки объектов при использовании встроенных функций сортировки, таких как sorted(). При реализации этого метода в классе можно указать, какие атрибуты объекта должны учитываться при сравнении с другими объектами для определения их относительного порядка.

Например, предположим, что у нас есть класс Point, который представляет собой точку на плоскости и имеет атрибуты x и y. Мы можем определить метод lt(self, other) в классе Point, чтобы при сравнении двух точек учитывался их порядок по оси x, а в случае равенства координат по оси x - по оси y.

Разъяснивший Python | ChatGPT
1👍1
NumPy: copy

numpy.copy() в библиотеке NumPy используется для создания копии массива или подмассива. Когда ты присваиваешь один массив другому, оба массива начинают указывать на одни и те же данные. Используя numpy.copy(), ты создаешь новый массив, который содержит копию данных из оригинального массива. Это позволяет изменять его без изменения оригинала.

Разъяснивший Python | ChatGPT
Методы сравнения объектов между собой (ч.2)

Метод le(self, other) позволяет определить, каким образом объект вашего класса должен вести себя, когда сравнивается с другим объектом с помощью оператора "<=". Например, если вы хотите сравнивать объекты вашего класса по каким-то определенным критериям (например, по их атрибутам), вы можете переопределить метод le(self, other) таким образом, чтобы он возвращал True, если объект self меньше или равен объекту other в соответствии с этими критериями, и False в противном случае.

Разъяснивший Python | ChatGPT
👍1
Классы данных

Data classes - это одна из новых функций Python 3.7. Благодаря data classes вам не нужно писать шаблонный код, чтобы получить правильную инициализацию, представление и сравнения для ваших объектов.

Здесь мы используем декоратор dataclass для того, чтобы автоматически сгенерировать методы init() и repr().
Теперь экземпляр класса Point имеет красивое строковое представление благодаря автоматически сгенерированному методу repr(). Также мы можем обращаться к полям x и y напрямую.

Разъяснивший Python | ChatGPT
👍61
Переопределение

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

Разъяснивший Python | ChatGPT
💩5
Атрибуты объекта

Атрибуты класса могут быть динамическими и статическими. На уровне объекта они инициализируются так.

Разъяснивший Python | ChatGPT
👍1
NumPy: shape

Функция shape используется для получения размерности массива. Она возвращает кортеж, показывающий количество элементов в каждом измерении массива. Например, если у тебя есть массив arr размером (3, 4), то arr.shape вернет (3, 4), указывая на то, что у массива три строки и четыре столбца.

Разъяснивший Python | ChatGPT
Linux как секс!

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

В канале BashDays ты найдешь лучшие Linux и Bash практики. Действующий девопс-инженер, самобытно и с долей юмора, травит темы:

- Рекавери файлов через grep
- Почему коты гадят в макбуки
- Как отключить логирование
- Неочевидные трюки на Bash
- Сниффер SSH на strace

И это только цветочки. А если заскучал, поиграй с друзьями в piu-piu и надери им бэкенд. Рекомендую!

В BashDays даже джуны становятся сеньорами.

Подписывайся, это самый простой способ прокачать свои хард-скиллы: — @bashdays
💩2🤩1
NumPy: reshape

reshape() — это функция библиотеки NumPy, которая используется для изменения формы массива без изменения его данных. Она позволяет переформатировать массив в новую форму, указанную в аргументе функции. Например, если у тебя есть одномерный массив из 12 элементов, ты можешь использовать reshape() для преобразования его в двумерный массив размером 3x4 или 4x3.

Разъяснивший Python | ChatGPT