🤷♀️Не все отсутствующие данные одинаково отсутствуют
Отсутствующие данные — это проблема, которая часто возникает в Data Science и машинном обучении. Есть множество причин, по которым данные могут отсутствовать, в зависимости от их типа и методов сбора. Но не все отсутствующие данные одинаковы, их можно разбить на следующие категории:
• Отсутствующие по причине невозможности их сбора или дороговизне этой процедуры
• Структурно отсутствующие данные, которые не могут быть получены из-за особенностей объектов исследований;
• Отсутствующие по причине случайного сбоя;
• Отсутствующие по неочевидным или неизвестным причинам.
В зависимости от причины отсутствия данных в датасете, можно сгладить или вовсе устранить это. Например, структурно отсутствующие данные предполагают изменение структуры вопросов об объекте исследования, чтобы ответы на них были получены. Вместо сбора редких или дорогостоящих данных можно выбрать прокси-метрики, которые позволяют принять решение. Постоянно повторяющиеся сбои необходимо устранить, а также больше узнавать о причинах отсутствия ожидаемых данных.
https://medium.com/@nahmed3536/types-of-missing-data-e718e6ac2a55
Отсутствующие данные — это проблема, которая часто возникает в Data Science и машинном обучении. Есть множество причин, по которым данные могут отсутствовать, в зависимости от их типа и методов сбора. Но не все отсутствующие данные одинаковы, их можно разбить на следующие категории:
• Отсутствующие по причине невозможности их сбора или дороговизне этой процедуры
• Структурно отсутствующие данные, которые не могут быть получены из-за особенностей объектов исследований;
• Отсутствующие по причине случайного сбоя;
• Отсутствующие по неочевидным или неизвестным причинам.
В зависимости от причины отсутствия данных в датасете, можно сгладить или вовсе устранить это. Например, структурно отсутствующие данные предполагают изменение структуры вопросов об объекте исследования, чтобы ответы на них были получены. Вместо сбора редких или дорогостоящих данных можно выбрать прокси-метрики, которые позволяют принять решение. Постоянно повторяющиеся сбои необходимо устранить, а также больше узнавать о причинах отсутствия ожидаемых данных.
https://medium.com/@nahmed3536/types-of-missing-data-e718e6ac2a55
Medium
Types of Missing Data
Not all missing data is equal. In this article, we’ll discuss missing data and the different types of missing data.
👍2
🔥Валидация данных в Python-скрипте с библиотекой pydantic
Эта легковесная библиотека позволяет проверить данные и управлять настройками с использованием аннотаций Python, применяя подсказки типов во время выполнения. Библиотека показывает пользователю ошибки, если данные невалидны. Достаточно определить, какими должны быть данные в чистом, каноническом Python и подтвердить это с помощью pydantic.
Справедливости ради стоит отметить, что pydantic — это прежде всего библиотека синтаксического анализа, а не средство валидации. Библиотека гарантирует типы и ограничения выходной модели, а не входных данных. Впрочем, хотя валидация модели не является основной целью pydantic, ее можно применять и для этого.
Основным средством определения объектов в pydantic являются модели, классы-наследники базового класса BaseModel. Можно рассматривать модели как типы данных в строго типизированных языках. Ненадежные данные могут быть переданы в модель, и после синтаксического анализа и проверки pydantic гарантирует, что поля результирующего экземпляра модели будут соответствовать типам полей, определенным в модели.
Библиотека отлично совмещается с любой IDE и работает очень быстро: большая часть библиотеки скомпилирована с помощью Cython. Pydantic обеспечивает проверку сложных структур данных и использование рекурсивных моделей, а также позволяет определять пользовательские типы данных через применение декоратора с анализом и проверкой входных данных.
Примечательно, что этот проект с открытым исходным кодом используют множество компаний и продуктов, включая FastAPI, Jupyter, Microsoft, AWS, Uber и др. Попробовать его можно прямо сейчас, импортировав в свой Python-скрипт сперва саму библиотеку через менеджер проектов pip, а затем ее базовый класс BaseModel:
pip install pydantic
from pydantic import BaseModel
https://pydantic-docs.helpmanual.io/
Эта легковесная библиотека позволяет проверить данные и управлять настройками с использованием аннотаций Python, применяя подсказки типов во время выполнения. Библиотека показывает пользователю ошибки, если данные невалидны. Достаточно определить, какими должны быть данные в чистом, каноническом Python и подтвердить это с помощью pydantic.
Справедливости ради стоит отметить, что pydantic — это прежде всего библиотека синтаксического анализа, а не средство валидации. Библиотека гарантирует типы и ограничения выходной модели, а не входных данных. Впрочем, хотя валидация модели не является основной целью pydantic, ее можно применять и для этого.
Основным средством определения объектов в pydantic являются модели, классы-наследники базового класса BaseModel. Можно рассматривать модели как типы данных в строго типизированных языках. Ненадежные данные могут быть переданы в модель, и после синтаксического анализа и проверки pydantic гарантирует, что поля результирующего экземпляра модели будут соответствовать типам полей, определенным в модели.
Библиотека отлично совмещается с любой IDE и работает очень быстро: большая часть библиотеки скомпилирована с помощью Cython. Pydantic обеспечивает проверку сложных структур данных и использование рекурсивных моделей, а также позволяет определять пользовательские типы данных через применение декоратора с анализом и проверкой входных данных.
Примечательно, что этот проект с открытым исходным кодом используют множество компаний и продуктов, включая FastAPI, Jupyter, Microsoft, AWS, Uber и др. Попробовать его можно прямо сейчас, импортировав в свой Python-скрипт сперва саму библиотеку через менеджер проектов pip, а затем ее базовый класс BaseModel:
pip install pydantic
from pydantic import BaseModel
https://pydantic-docs.helpmanual.io/
👍3
👍🏻Нужны красивые графики в Jupyter Notebook? Легко с PivotTable.js!
PivotTable.js — это Javascript-реализация сводных таблиц с открытым исходным кодом с функциями drag-and-drop. Проект распространяется под лицензией MIT и устанавливается через менеджер пакетов pip:
pip install pivottablejs
Библиотека позволяет удобно и быстро визуализировать статистику датасета, просто перетащив нужные данные.
https://pypi.org/project/pivottablejs/
PivotTable.js — это Javascript-реализация сводных таблиц с открытым исходным кодом с функциями drag-and-drop. Проект распространяется под лицензией MIT и устанавливается через менеджер пакетов pip:
pip install pivottablejs
Библиотека позволяет удобно и быстро визуализировать статистику датасета, просто перетащив нужные данные.
https://pypi.org/project/pivottablejs/
PyPI
pivottablejs
PivotTable.js integration for Jupyter/IPython Notebook
👍5
Яндекс назвал лауреатов своей ежегодной научной премии
Ученые, которые занимаются исследованиями в области компьютерных наук, получат по миллиону рублей на развитие своих проектов. В 2022 году лауреатами стали шесть молодых ученых:
•Максим Великанов — занимается теорией deep learning, изучает бесконечно широкие нейронные сети и статистическую физику;
•Петр Мокров — исследует градиентные потоки Вассерштейна, нелинейную фильтрацию и байесовскую логистическую регрессию;
•Максим Кодрян — занимается deep learning, а также оптимизацией и генерализацией нейросетевых моделей;
•Руслан Рахимов — работает с нейронной визуализацией, CV и deep learning;
•Сергей Самсонов — изучает алгоритмы Монте-Карло с марковскими цепями, стохастическую аппроксимацию и другие темы;
•Тарас Хахулин — работает в области компьютерного зрения.
Круто, что отдельно выделяют и научных руководителей. В этом году гранты получили двое — Дмитрий Ветров, заведующий Центром глубинного обучения и байесовских методов ВШЭ, и Алексей Наумов, доцент факультета компьютерных наук ВШЭ, заведующий Международной лаборатории стохастических алгоритмов и анализа многомерных данных.
Подробнее о премии и лауреатах 2022 года — на сайте.
Ученые, которые занимаются исследованиями в области компьютерных наук, получат по миллиону рублей на развитие своих проектов. В 2022 году лауреатами стали шесть молодых ученых:
•Максим Великанов — занимается теорией deep learning, изучает бесконечно широкие нейронные сети и статистическую физику;
•Петр Мокров — исследует градиентные потоки Вассерштейна, нелинейную фильтрацию и байесовскую логистическую регрессию;
•Максим Кодрян — занимается deep learning, а также оптимизацией и генерализацией нейросетевых моделей;
•Руслан Рахимов — работает с нейронной визуализацией, CV и deep learning;
•Сергей Самсонов — изучает алгоритмы Монте-Карло с марковскими цепями, стохастическую аппроксимацию и другие темы;
•Тарас Хахулин — работает в области компьютерного зрения.
Круто, что отдельно выделяют и научных руководителей. В этом году гранты получили двое — Дмитрий Ветров, заведующий Центром глубинного обучения и байесовских методов ВШЭ, и Алексей Наумов, доцент факультета компьютерных наук ВШЭ, заведующий Международной лаборатории стохастических алгоритмов и анализа многомерных данных.
Подробнее о премии и лауреатах 2022 года — на сайте.
Yandex ML Prize
🔥4👍3
🌲ТОП-7 DS-событий декабря
В последний месяц 2022 года ожидаются следующие DS-события:
• 3 декабря – крупная конференция Яндекса, более 100 экспертов из мировых и российских компаний. Онлайн и офлайн. https://yatalks.yandex.ru/ru
• 4 декабря - командный онлайн-чемпионат Avanpost Challenge https://avanpostchallenge.ru/
• 5-16 декабря - онлайн-фестиваль Yandex DataLens Festival по аналитике данных https://cloud.yandex.ru/datalens-festival
• 6 декабря – вебинар Яндекса про возможности DataSphere для распределённых ML-команд https://cloud.yandex.ru/events/683
• 7 декабря – предновогодний митап Data People Junior https://datapeople.ru/junior_071222
• 7 декабря - Международный научный форум FIT-M 2022 по применению информационных технологий и компьютерного моделирования в науке, промышленности и бизнесе. Москва НИУ ВШЭ https://fit-m.org/
• 8 декабря – онлайн-митап ВТБ про применение ML-инструментов в бизнес-процессах https://vtb-meetup.ru/ml-tools-in-business
В последний месяц 2022 года ожидаются следующие DS-события:
• 3 декабря – крупная конференция Яндекса, более 100 экспертов из мировых и российских компаний. Онлайн и офлайн. https://yatalks.yandex.ru/ru
• 4 декабря - командный онлайн-чемпионат Avanpost Challenge https://avanpostchallenge.ru/
• 5-16 декабря - онлайн-фестиваль Yandex DataLens Festival по аналитике данных https://cloud.yandex.ru/datalens-festival
• 6 декабря – вебинар Яндекса про возможности DataSphere для распределённых ML-команд https://cloud.yandex.ru/events/683
• 7 декабря – предновогодний митап Data People Junior https://datapeople.ru/junior_071222
• 7 декабря - Международный научный форум FIT-M 2022 по применению информационных технологий и компьютерного моделирования в науке, промышленности и бизнесе. Москва НИУ ВШЭ https://fit-m.org/
• 8 декабря – онлайн-митап ВТБ про применение ML-инструментов в бизнес-процессах https://vtb-meetup.ru/ml-tools-in-business
yatalks.yandex.ru
Главная конференция Яндекса для IT-сообщества — YaTalks 2023
5 и 6 декабря более 100 экспертов IT-индустрии и учёных выступят в Москве и Белграде с техническими докладами о разработке и ML и с научно-популярными лекциями.
👍2
#тест
Что верно про эти структуры данных:список словарь и массив?
Что верно про эти структуры данных:список словарь и массив?
Anonymous Quiz
15%
массив может содержать значения разных типов
69%
список может содержать значения разных типов
10%
словарь имеет индексы
6%
словарь гарантирует неизменный порядок вводимых данных
👍3😁1🤯1
💥3 полезных Python-библиотеки для Data Science и не только
Сегодня познакомимся с 3-мя библиотеками, которые могут пригодиться в задачах Data Science:
• Fabric — высокоуровневая библиотека Python (2.7, 3.4+) для удаленного выполнения команд оболочки через SSH с получением полезных объектов Python. Она основана на API Invoke (выполнение команд подпроцесса и функции командной строки) и Paramiko (реализация протокола SSH). https://github.com/fabric/fabric
• TextDistance — библиотека для сравнения расстояния между двумя или более последовательностями с помощью более 30 алгоритмов. Пригодится в NLP-задачах для определения расстояния и сходства между последовательностями. https://github.com/life4/textdistance
• Watchdog - Python API (3.6+) и утилиты оболочки для мониторинга событий файловой системы. Пригодится для мониторинга каталогов, указанных в качестве аргументов командной строки, позволяет регистрировать сгенерированные события. https://github.com/gorakhargosh/watchdog
Сегодня познакомимся с 3-мя библиотеками, которые могут пригодиться в задачах Data Science:
• Fabric — высокоуровневая библиотека Python (2.7, 3.4+) для удаленного выполнения команд оболочки через SSH с получением полезных объектов Python. Она основана на API Invoke (выполнение команд подпроцесса и функции командной строки) и Paramiko (реализация протокола SSH). https://github.com/fabric/fabric
• TextDistance — библиотека для сравнения расстояния между двумя или более последовательностями с помощью более 30 алгоритмов. Пригодится в NLP-задачах для определения расстояния и сходства между последовательностями. https://github.com/life4/textdistance
• Watchdog - Python API (3.6+) и утилиты оболочки для мониторинга событий файловой системы. Пригодится для мониторинга каталогов, указанных в качестве аргументов командной строки, позволяет регистрировать сгенерированные события. https://github.com/gorakhargosh/watchdog
GitHub
GitHub - fabric/fabric: Simple, Pythonic remote execution and deployment.
Simple, Pythonic remote execution and deployment. Contribute to fabric/fabric development by creating an account on GitHub.
👍6
🤔PyPy vs CPython: под капотом Python
Каждый разработчик Python-скриптов знает про CPython — наиболее распространенную реализация виртуальной машины, которая интерпретирует написанный код. Кроме CPython есть также PyPy , построенный с использованием языка RPython. По сравнению с CPython, PyPy работает быстрее, реализуя Python 2.7.18, 3.9.15 и 3.8.15. PyPy поддерживает большинство часто используемых модулей стандартных Python-библиотек. Версия PyPy x86 работает в нескольких операционных системах, таких как Linux (32/64 бита), MacOS (64 бита), Windows (32 бита), OpenBSD, FreeBSD. Версии, отличные от x86, поддерживаются в Linux, а ARM64 — в MacOS.
Впрочем, PyPy не сможет ускорить код в кратковременных процессах, которые запускаются менее чем на пару секунд: JIT-компилятору не хватит времени на «разогрев». Также PyPy не даст выиграша в скорости, если все время выполнения проводится в runtime-библиотеках, т.е. в функциях C, а не в фактическом выполнении Python-кода. Поэтому PyPy работает лучше всего при выполнении долго выполняющихся программ, когда значительная часть времени тратится на выполнение кода Python.
С точки зрения потребления памяти, PyPy также может дать фору CPython: Python-программы с высоким потреблением ОЗУ (сотни МБ и более) могут в конечном итоге занимать меньше места в PyPy, чем в CPython.
https://www.pypy.org/features.html
Каждый разработчик Python-скриптов знает про CPython — наиболее распространенную реализация виртуальной машины, которая интерпретирует написанный код. Кроме CPython есть также PyPy , построенный с использованием языка RPython. По сравнению с CPython, PyPy работает быстрее, реализуя Python 2.7.18, 3.9.15 и 3.8.15. PyPy поддерживает большинство часто используемых модулей стандартных Python-библиотек. Версия PyPy x86 работает в нескольких операционных системах, таких как Linux (32/64 бита), MacOS (64 бита), Windows (32 бита), OpenBSD, FreeBSD. Версии, отличные от x86, поддерживаются в Linux, а ARM64 — в MacOS.
Впрочем, PyPy не сможет ускорить код в кратковременных процессах, которые запускаются менее чем на пару секунд: JIT-компилятору не хватит времени на «разогрев». Также PyPy не даст выиграша в скорости, если все время выполнения проводится в runtime-библиотеках, т.е. в функциях C, а не в фактическом выполнении Python-кода. Поэтому PyPy работает лучше всего при выполнении долго выполняющихся программ, когда значительная часть времени тратится на выполнение кода Python.
С точки зрения потребления памяти, PyPy также может дать фору CPython: Python-программы с высоким потреблением ОЗУ (сотни МБ и более) могут в конечном итоге занимать меньше места в PyPy, чем в CPython.
https://www.pypy.org/features.html
PyPy
PyPy - Features
What is PyPy and what are its features
👍5
🚀Ускоряем качество и повышаем скорость выполнения Python-кода с Refurb
Каждый Data Scientist знает, что Python — это интерпретируемый язык. Интерпретируемый код всегда медленнее, чем компилируемый в прямой машинный код, потому что для реализации интерпретируемой инструкции требуется гораздо больше времени. Поэтому то, как вы пишете свой код на Python, сильно влияет на скорость его выполнения. Наличие хорошей структуры кода и соблюдение языкового преобразования увеличат скорость Python-кода. Улучить качество Python-кода поможет библиотека Refurb. Она может модернизировать или изменить код Python с помощью одной единственной команды. Библиотека основана на идеях clippy, встроенного линтера для Rust.
Просто установите ее через менеджер пакетов pip
pip install refurb
И используйте подсказки, чтобы улучшить качество своего Python-кода и повысить скорость его выполнения.
https://github.com/dosisod/refurb
Каждый Data Scientist знает, что Python — это интерпретируемый язык. Интерпретируемый код всегда медленнее, чем компилируемый в прямой машинный код, потому что для реализации интерпретируемой инструкции требуется гораздо больше времени. Поэтому то, как вы пишете свой код на Python, сильно влияет на скорость его выполнения. Наличие хорошей структуры кода и соблюдение языкового преобразования увеличат скорость Python-кода. Улучить качество Python-кода поможет библиотека Refurb. Она может модернизировать или изменить код Python с помощью одной единственной команды. Библиотека основана на идеях clippy, встроенного линтера для Rust.
Просто установите ее через менеджер пакетов pip
pip install refurb
И используйте подсказки, чтобы улучшить качество своего Python-кода и повысить скорость его выполнения.
https://github.com/dosisod/refurb
GitHub
GitHub - dosisod/refurb: A tool for refurbishing and modernizing Python codebases
A tool for refurbishing and modernizing Python codebases - dosisod/refurb
👍4🔥2🤔1
🤔SQLlite как встроенная база данных в Python
SQLite — это встроенная реляционная файловая СУБД (RDBMS), которую можно использовать в Python- приложениях без установки дополнительного ПО. Достаточно импортировать встроенную Python-библиотеку sqlite3, чтобы использовать SQLite.
Сперва надо создать соединение с базой данных, импортировав sqlite3, а затем вызвать метод .connect, указав имя базы данных, которую надо создать, например, new_database.db.
import sqlite3
conn = sqlite3.connect(' new_database.db ')
Перед созданием таблицы нужно создать курсор – объект, который используется для создания соединения для выполнения SQL-запросов. При этом вызывается созданное соединение и метод .cursor():
c = conn.cursor()
После этого можно применить метод .execute() для создания новой таблицы в базе данных. Внутри кавычек пишется обычный синтаксис SQL-запросов, используемый для создания таблицы в большинстве СУБД. Например, создание таблицы через оператор CREATE TABLE:
c.execute("""CREATE TABLE new_table (
name TEXT,
weight INTEGER)""")
Наполнив таблицу данными, можно выполнять к ней типовые SQL-запросы на выборку и изменение значений.
https://towardsdatascience.com/yes-python-has-a-built-in-database-heres-how-to-use-it-b3c033f172d3
SQLite — это встроенная реляционная файловая СУБД (RDBMS), которую можно использовать в Python- приложениях без установки дополнительного ПО. Достаточно импортировать встроенную Python-библиотеку sqlite3, чтобы использовать SQLite.
Сперва надо создать соединение с базой данных, импортировав sqlite3, а затем вызвать метод .connect, указав имя базы данных, которую надо создать, например, new_database.db.
import sqlite3
conn = sqlite3.connect(' new_database.db ')
Перед созданием таблицы нужно создать курсор – объект, который используется для создания соединения для выполнения SQL-запросов. При этом вызывается созданное соединение и метод .cursor():
c = conn.cursor()
После этого можно применить метод .execute() для создания новой таблицы в базе данных. Внутри кавычек пишется обычный синтаксис SQL-запросов, используемый для создания таблицы в большинстве СУБД. Например, создание таблицы через оператор CREATE TABLE:
c.execute("""CREATE TABLE new_table (
name TEXT,
weight INTEGER)""")
Наполнив таблицу данными, можно выполнять к ней типовые SQL-запросы на выборку и изменение значений.
https://towardsdatascience.com/yes-python-has-a-built-in-database-heres-how-to-use-it-b3c033f172d3
Medium
Yes, Python Has a Built-In Database. Here’s How to Use It.
A simple guide to SQLite in Python.
👍3🔥2
👍3🤔2
🤔ТОП-4 рисков embedding’ов в ML
Встраиваемые модели широко используются в машинном обучении чтобы перевести необработанные входные данные в низкоразмерный вектор, который фиксирует их семантическое значение и может использоваться для различных последующих моделей. Предварительно обученные встраивания в качестве экстракторов признаков используются для разработки фичей различных типов входных данных (текст, изображение, аудио, видео, мультимодальный) или категориальные признаки с высокой кардинальностью.
Главными рисками embedding’ов считаются:
• Высокая запутанность - изменение выходных данных восходящей модели встраивания влияет на производительность нижестоящей модели. Полагаясь на выходные данные embedding-модели, следует переобучать нижестоящие модели.
• Скрытые петли обратной связи. Предварительно обученные фичи встраивания часто используются как черный ящик. Но знание того, на чем обучалось встраивание необработанных входных данных, очень важно для качества модели и ее интерпретируемости.
• Высокие затраты на вывод в реальном времени требует больших затрат (хранение и обслуживание). Это напрямую влияет на рентабельность инвестиций в ML. Важно обеспечить качество во время сбоев в обслуживании встраивания, стоимость обучения и стоимость обслуживания за запрос.
• Высокая стоимость отладки - отладка и мониторинг встроенных фичей или основных причин сбоев обходится очень дорого. Поэтому следует отказаться от встроенных фичей, которые не имеют большого значения для модели.
https://medium.com/better-ml/embeddings-the-high-interest-credit-card-of-feature-engineering-414c00cb82e1
Встраиваемые модели широко используются в машинном обучении чтобы перевести необработанные входные данные в низкоразмерный вектор, который фиксирует их семантическое значение и может использоваться для различных последующих моделей. Предварительно обученные встраивания в качестве экстракторов признаков используются для разработки фичей различных типов входных данных (текст, изображение, аудио, видео, мультимодальный) или категориальные признаки с высокой кардинальностью.
Главными рисками embedding’ов считаются:
• Высокая запутанность - изменение выходных данных восходящей модели встраивания влияет на производительность нижестоящей модели. Полагаясь на выходные данные embedding-модели, следует переобучать нижестоящие модели.
• Скрытые петли обратной связи. Предварительно обученные фичи встраивания часто используются как черный ящик. Но знание того, на чем обучалось встраивание необработанных входных данных, очень важно для качества модели и ее интерпретируемости.
• Высокие затраты на вывод в реальном времени требует больших затрат (хранение и обслуживание). Это напрямую влияет на рентабельность инвестиций в ML. Важно обеспечить качество во время сбоев в обслуживании встраивания, стоимость обучения и стоимость обслуживания за запрос.
• Высокая стоимость отладки - отладка и мониторинг встроенных фичей или основных причин сбоев обходится очень дорого. Поэтому следует отказаться от встроенных фичей, которые не имеют большого значения для модели.
https://medium.com/better-ml/embeddings-the-high-interest-credit-card-of-feature-engineering-414c00cb82e1
Medium
Embeddings: The high-interest credit card of feature engineering
Embedding models are widely used machine learning models that map a raw input (usually discrete) to a low-dimensional vector. The embedding vector captures the semantic meaning of the raw input data…
👍1
💥Не только Copilot: Codex от OpenAI
OpenAI выпустил бета-релиз модели Codex на базе GPT-3, которые могут понимать и генерировать код. Их обучающие данные содержат как естественный язык, так и миллиарды строк общедоступного кода из GitHub. Эти нейросетевые модели лучше всего разбираются в Python и владеют более чем дюжиной языков программирования, включая JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL и даже Shell. Codex пригодится в следующих задачах:
• Сделать код из комментариев
• Завершить следующую строку или функцию в контексте
• Найти полезную библиотеку или вызов API
• Добавить комментарии
• Сделать рефакторинг кода для повышения его эффективности
https://beta.openai.com/docs/guides/code
OpenAI выпустил бета-релиз модели Codex на базе GPT-3, которые могут понимать и генерировать код. Их обучающие данные содержат как естественный язык, так и миллиарды строк общедоступного кода из GitHub. Эти нейросетевые модели лучше всего разбираются в Python и владеют более чем дюжиной языков программирования, включая JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL и даже Shell. Codex пригодится в следующих задачах:
• Сделать код из комментариев
• Завершить следующую строку или функцию в контексте
• Найти полезную библиотеку или вызов API
• Добавить комментарии
• Сделать рефакторинг кода для повышения его эффективности
https://beta.openai.com/docs/guides/code
👍3
🤔Почему библиотека NumPy так популярна в Python?
NumPy — это библиотека языка Python, которая добавляет поддержку больших многомерных массивов и матриц, а также высокоуровневых (и очень быстро выполняющихся) математических функций для операций с этими массивами. У данной библиотеки есть несколько важных особенностей, которые сделали ее популярным инструментом.
Во-первых, исходный ее код в свободном доступе хранится на GitHub, поэтому NumPy называют open-source модулем для Python. https://github.com/numpy/numpy/tree/main/numpy
Во-вторых, NumPy написана на языке C. Данный язык является компилируемым, то есть конструкции на этом языке преобразуются в машинный код — набор инструкций для конкретного типа процессора. Преобразование происходит с помощью специальной программы-компилятора, благодаря чему все вычисления происходят достаточно быстро.
Для примера сравним производительность NumPy-массивов и стандартных Python-списков:
import numpy
import time
list1 = range(1000000)
list2 = range(1000000)
array1 = numpy.arange(1000000)
array2 = numpy.arange(1000000)
initialTime = time.time()
resultantList = [(a * b) for a, b in zip(list1, list2)]
print("Время, затраченное на создание списка Python:",(time.time() - initialTime),"сек")
initialTime = time.time()
resultantArray = array1 * array2
print("Время, затраченное на создание массива NumPy :", (time.time() - initialTime),"сек")
Как результат, мы можем полагать, что NumPy-массивы показали себя намного быстрее (0.002 сек), чем стандартные Python-списки (0.11 сек)
В целом, можно сказать, что производительность NumPy различается на разных платформах из-за различий в программном и аппаратном обеспечении. В качестве примеров были протестированы генераторы псевдослучайных чисел. Подробности можно узнать на официальном сайте NumPy здесь: https://numpy.org/doc/stable/reference/random/performance.html#performance-on-different-operating-systems
NumPy — это библиотека языка Python, которая добавляет поддержку больших многомерных массивов и матриц, а также высокоуровневых (и очень быстро выполняющихся) математических функций для операций с этими массивами. У данной библиотеки есть несколько важных особенностей, которые сделали ее популярным инструментом.
Во-первых, исходный ее код в свободном доступе хранится на GitHub, поэтому NumPy называют open-source модулем для Python. https://github.com/numpy/numpy/tree/main/numpy
Во-вторых, NumPy написана на языке C. Данный язык является компилируемым, то есть конструкции на этом языке преобразуются в машинный код — набор инструкций для конкретного типа процессора. Преобразование происходит с помощью специальной программы-компилятора, благодаря чему все вычисления происходят достаточно быстро.
Для примера сравним производительность NumPy-массивов и стандартных Python-списков:
import numpy
import time
list1 = range(1000000)
list2 = range(1000000)
array1 = numpy.arange(1000000)
array2 = numpy.arange(1000000)
initialTime = time.time()
resultantList = [(a * b) for a, b in zip(list1, list2)]
print("Время, затраченное на создание списка Python:",(time.time() - initialTime),"сек")
initialTime = time.time()
resultantArray = array1 * array2
print("Время, затраченное на создание массива NumPy :", (time.time() - initialTime),"сек")
Как результат, мы можем полагать, что NumPy-массивы показали себя намного быстрее (0.002 сек), чем стандартные Python-списки (0.11 сек)
В целом, можно сказать, что производительность NumPy различается на разных платформах из-за различий в программном и аппаратном обеспечении. В качестве примеров были протестированы генераторы псевдослучайных чисел. Подробности можно узнать на официальном сайте NumPy здесь: https://numpy.org/doc/stable/reference/random/performance.html#performance-on-different-operating-systems
GitHub
numpy/numpy at main · numpy/numpy
The fundamental package for scientific computing with Python. - numpy/numpy
👍2🤔1
😎Топ 6 библиотек для анализа временных рядов
Временной ряд — это упорядоченная последовательность точек или признаков, которые измеряются через определенные временные интервалы, и которая представляет характеристику процесса. В наше время существуют такие популярные библиотеки для работы с временными рядами, как:
• Statsmodels - это библиотека с открытым исходным кодом. Построена на основе NumPy и SciPy. Statsmodel позволяет строить и анализировать статистические модели, в том числе также модели временных рядов. Также включает в себя статистические тесты, возможность работы с большими данными и др.
• Sktime - библиотека с открытым исходным кодом для машинного обучения на Python. Она разработана специально для анализа временных рядов. Sktime включает специальные алгоритмы машинного обучения и хорошо подходит для задач прогнозирования и классификации временных рядов.
• tslearn - универсальная библиотека предназначена для анализа временных рядов с помощью языка Python. Она основана на библиотеках scikit-learn, numpy и scipy. Эта библиотека предлагает инструменты для предварительной обработки и извлечения признаков, а также специальные модели для кластеризации, классификации и регрессии.
• Tsfresh - данная библиотека отлично подходит для подготовки данных к классическому табличному виду с целью постановки и решения задач классификации, прогнозирования и пр. С ее помощью можно быстро выделить большое количество признаков временных рядов, а затем отобрать только необходимые.
• Merlion - является библиотекой с открытым исходным кодом. Она предназначена для работы с временными рядами, главным образом — прогнозирования и обнаружения коллективных аномалий. Имеет типовой интерфейс для большинства моделей и наборов данных. Позволяет быстро разработать модель для решения распространенных задач в области временных рядов и тестировать ее на различных наборах данных.
• PyOD (Python Outlier Detection или PyOD) — это Python-библиотека, которая помогает обнаружить в данных точечные аномалии или выбросы. В данной библиотеке реализовано более 30 алгоритмов, начиная с классических алгоритмов типа Isolation Forest и заканчивая недавно представленными в научных статьях методами, типа COPOD и другие. Также PyOD позволяет объединять модели поиска выбросов в ансамбли для повышения качества решения задачи. Библиотека проста и понятна, а примеры в документации подробно рассказывают, как ее можно использовать.
Временной ряд — это упорядоченная последовательность точек или признаков, которые измеряются через определенные временные интервалы, и которая представляет характеристику процесса. В наше время существуют такие популярные библиотеки для работы с временными рядами, как:
• Statsmodels - это библиотека с открытым исходным кодом. Построена на основе NumPy и SciPy. Statsmodel позволяет строить и анализировать статистические модели, в том числе также модели временных рядов. Также включает в себя статистические тесты, возможность работы с большими данными и др.
• Sktime - библиотека с открытым исходным кодом для машинного обучения на Python. Она разработана специально для анализа временных рядов. Sktime включает специальные алгоритмы машинного обучения и хорошо подходит для задач прогнозирования и классификации временных рядов.
• tslearn - универсальная библиотека предназначена для анализа временных рядов с помощью языка Python. Она основана на библиотеках scikit-learn, numpy и scipy. Эта библиотека предлагает инструменты для предварительной обработки и извлечения признаков, а также специальные модели для кластеризации, классификации и регрессии.
• Tsfresh - данная библиотека отлично подходит для подготовки данных к классическому табличному виду с целью постановки и решения задач классификации, прогнозирования и пр. С ее помощью можно быстро выделить большое количество признаков временных рядов, а затем отобрать только необходимые.
• Merlion - является библиотекой с открытым исходным кодом. Она предназначена для работы с временными рядами, главным образом — прогнозирования и обнаружения коллективных аномалий. Имеет типовой интерфейс для большинства моделей и наборов данных. Позволяет быстро разработать модель для решения распространенных задач в области временных рядов и тестировать ее на различных наборах данных.
• PyOD (Python Outlier Detection или PyOD) — это Python-библиотека, которая помогает обнаружить в данных точечные аномалии или выбросы. В данной библиотеке реализовано более 30 алгоритмов, начиная с классических алгоритмов типа Isolation Forest и заканчивая недавно представленными в научных статьях методами, типа COPOD и другие. Также PyOD позволяет объединять модели поиска выбросов в ансамбли для повышения качества решения задачи. Библиотека проста и понятна, а примеры в документации подробно рассказывают, как ее можно использовать.
GitHub
GitHub - statsmodels/statsmodels: Statsmodels: statistical modeling and econometrics in Python
Statsmodels: statistical modeling and econometrics in Python - statsmodels/statsmodels
👍3🔥2
Совет на 2023 год — выучите актуальные DevOps инструменты. DevOps на сегодня являются самыми высокооплачиваемыми и востребованными специалистами в ит-отрасли.
А для того, чтобы научиться за месяцев, а не лет — держите в подписках канал DevOPs. Там на пальцах рассказывают что учить, на что забить и что актуально в 2023 году.
С этим каналом вы пройдете путь от "гугл - что такое Docker" до богатого DevOps специалиста.
Начните свой 2023 год продуктивно — школа DevOps
А для того, чтобы научиться за месяцев, а не лет — держите в подписках канал DevOPs. Там на пальцах рассказывают что учить, на что забить и что актуально в 2023 году.
С этим каналом вы пройдете путь от "гугл - что такое Docker" до богатого DevOps специалиста.
Начните свой 2023 год продуктивно — школа DevOps
🔥2🤔2❤1👍1
💡Топ 6 источников данных для глубокого погружения в Data Science
Chronic disease data. - источник, на котором можно найти данные о различных хронических заболеваниях на территории США.
IMF Data - Международный валютный фонд, который также публикует данные о международных финансах, показателях долгов, валютных резервах, инвестициях и так далее
Financial Times Market Data - здесь содержится информация о финансовых рынках всего мира, которая включает в себя такие показатели, как товары, валюту, индексы цен на акции
ImageNet - это данные изображений для новых алгоритмов, организованные в соответствии с иерархией WordNet, в которой сотни и тысячи изображений представляют каждый узел иерархии
Stanford Dogs Dataset - здесь содержится огромное количество изображений различных пород собак
HotspotQA Dataset - данные с вопросами-ответами, позволяющие создавать системы для ответов на вопросы наиболее понятным способом.
Chronic disease data. - источник, на котором можно найти данные о различных хронических заболеваниях на территории США.
IMF Data - Международный валютный фонд, который также публикует данные о международных финансах, показателях долгов, валютных резервах, инвестициях и так далее
Financial Times Market Data - здесь содержится информация о финансовых рынках всего мира, которая включает в себя такие показатели, как товары, валюту, индексы цен на акции
ImageNet - это данные изображений для новых алгоритмов, организованные в соответствии с иерархией WordNet, в которой сотни и тысячи изображений представляют каждый узел иерархии
Stanford Dogs Dataset - здесь содержится огромное количество изображений различных пород собак
HotspotQA Dataset - данные с вопросами-ответами, позволяющие создавать системы для ответов на вопросы наиболее понятным способом.
🔥2
💥Топ 5 причин использовать Apache Spark для обработки Big Data
Apache Spark – популярный Big Data фреймворк с открытым исходным кодом для обработки больших массивов данных в распределенной среде. Он входит в экосистему проектов Apache Hadoop. Данный фреймворк хорош тем, что имеет в своем арсенале следующие элементы:
• Богатый API - Spark предоставляет разработчику довольно обширный API, что позволяет работать с разными языками программирования, например: Python, R, Scala и Java. Spark также предлагает пользователю абстракцию датафрейма (dataframe), для которых используются объектно-ориентированные методы преобразований, объединения данных, их фильтрации, а также много других полезных возможностей.
• Довольно широкий функционал - Spark обладает широкими функциональными возможностями за счет таких компонентов, как:
1. Spark SQL - модуль, который служит для аналитической обработки данных с помощью SQL-запросов
2. Spark Streaming – модуль, обеспечивающий надстройку для обработки потоковых данных в режиме онлайн
3. MLLib – модуль, предоставляющий набор библиотек машинного обучения в распределенной среде
• Ленивые вычисления - позволяют снизить общий объем вычислений и повысить производительность программы за счет снижений требований к памяти. Данный вид вычислений весьма полезен, так как это позволяет определять сложную структуру преобразований, представленных в виде объектов. Также существует возможность проверить структуру конечного результата, не выполняя какие-либо промежуточные шаги. Еще Spark автоматически проверяет план выполнения запросов или программы на наличие ошибок. Это позволяет быстро отловить баги и отладить их.
• Открытый исходный код - входя в линейку проектов Apache Software Foundation, Спарк продолжает активно развиваться за счет сообщества разработчиков. Также, несмотря на то, что Spark является бесплатным инструментом, у него весьма подробная документация: https://spark.apache.org/documentation.html
• Распределенная обработка данных - Apache Spark предусматривает распределенную обработку данных, включая концепцию распределенных датасетов RDD (resilient distributed dataset) – это распределенная структура данных, которая размещается в оперативной памяти. Каждый такой датасет содержит фрагмент данных, распределенных по узлам кластера. За счет этого он является отказоустойчивым: если раздел теряется в результате сбоя узла, он может быть восстановлен из исходных источников. Таким образом, Spark сам раскидывает код по всем узлам кластера, разбивает его на подзадачи, создает план выполнения и отслеживает успешность выполнения.
Apache Spark – популярный Big Data фреймворк с открытым исходным кодом для обработки больших массивов данных в распределенной среде. Он входит в экосистему проектов Apache Hadoop. Данный фреймворк хорош тем, что имеет в своем арсенале следующие элементы:
• Богатый API - Spark предоставляет разработчику довольно обширный API, что позволяет работать с разными языками программирования, например: Python, R, Scala и Java. Spark также предлагает пользователю абстракцию датафрейма (dataframe), для которых используются объектно-ориентированные методы преобразований, объединения данных, их фильтрации, а также много других полезных возможностей.
• Довольно широкий функционал - Spark обладает широкими функциональными возможностями за счет таких компонентов, как:
1. Spark SQL - модуль, который служит для аналитической обработки данных с помощью SQL-запросов
2. Spark Streaming – модуль, обеспечивающий надстройку для обработки потоковых данных в режиме онлайн
3. MLLib – модуль, предоставляющий набор библиотек машинного обучения в распределенной среде
• Ленивые вычисления - позволяют снизить общий объем вычислений и повысить производительность программы за счет снижений требований к памяти. Данный вид вычислений весьма полезен, так как это позволяет определять сложную структуру преобразований, представленных в виде объектов. Также существует возможность проверить структуру конечного результата, не выполняя какие-либо промежуточные шаги. Еще Spark автоматически проверяет план выполнения запросов или программы на наличие ошибок. Это позволяет быстро отловить баги и отладить их.
• Открытый исходный код - входя в линейку проектов Apache Software Foundation, Спарк продолжает активно развиваться за счет сообщества разработчиков. Также, несмотря на то, что Spark является бесплатным инструментом, у него весьма подробная документация: https://spark.apache.org/documentation.html
• Распределенная обработка данных - Apache Spark предусматривает распределенную обработку данных, включая концепцию распределенных датасетов RDD (resilient distributed dataset) – это распределенная структура данных, которая размещается в оперативной памяти. Каждый такой датасет содержит фрагмент данных, распределенных по узлам кластера. За счет этого он является отказоустойчивым: если раздел теряется в результате сбоя узла, он может быть восстановлен из исходных источников. Таким образом, Spark сам раскидывает код по всем узлам кластера, разбивает его на подзадачи, создает план выполнения и отслеживает успешность выполнения.
👍4❤1🔥1
😎Что такое Pandas и чем же он так хорош?
Pandas — это Python-библиотека для обработки и анализа структурированных данных, её название происходит от «panel data» («панельные данные»). Панельными данными называют информацию, полученную в результате исследований и структурированную в виде таблиц. Для работы с такими массивами данных в Python создана библиотека Pandas.
В основе данной библиотеки лежит DataFrame – структура данных табличного типа. Любое табличное представление данных, например, электронные таблицы или базы данных, можно использовать как DataFrame. Объект DataFrame составлен из объектов типа Series — одномерных массивов, которые объединены под одним названием и типом данных. Series можно рассматривать как столбец таблицы. Pandas имеет в свое арсенале такие преимущества, как:
Простое управление беспорядочными данными в упорядоченной форме - в датафреймах предусмотрены индексы, обеспечивающий легкий доступ к любому элементу
Гибкое изменение форм: добавление, удаление, присоединение новых или старых данных.
Интеллектуальное индексирование, которое предусматривает манипулирование и управление столбцами и строками.
Быстрое слияние и объединение наборов данных за счет их индексации, например, два и более объектов Series в один DataFrame.
Поддержка иерархического индексирования - возможность объединения столбцов под общей категорией (MultiIndex).
Открытый доступ - Pandas является opensource-библиотекой, то есть ее исходный код находится в открытом доступе
Подробная документация - у Pandas есть свой официальный сайт, на котором располагается подробная документация с пояснениями. Подробнее можно узнать по следующей ссылке: https://pandas.pydata.org/docs/
Pandas — это Python-библиотека для обработки и анализа структурированных данных, её название происходит от «panel data» («панельные данные»). Панельными данными называют информацию, полученную в результате исследований и структурированную в виде таблиц. Для работы с такими массивами данных в Python создана библиотека Pandas.
В основе данной библиотеки лежит DataFrame – структура данных табличного типа. Любое табличное представление данных, например, электронные таблицы или базы данных, можно использовать как DataFrame. Объект DataFrame составлен из объектов типа Series — одномерных массивов, которые объединены под одним названием и типом данных. Series можно рассматривать как столбец таблицы. Pandas имеет в свое арсенале такие преимущества, как:
Простое управление беспорядочными данными в упорядоченной форме - в датафреймах предусмотрены индексы, обеспечивающий легкий доступ к любому элементу
Гибкое изменение форм: добавление, удаление, присоединение новых или старых данных.
Интеллектуальное индексирование, которое предусматривает манипулирование и управление столбцами и строками.
Быстрое слияние и объединение наборов данных за счет их индексации, например, два и более объектов Series в один DataFrame.
Поддержка иерархического индексирования - возможность объединения столбцов под общей категорией (MultiIndex).
Открытый доступ - Pandas является opensource-библиотекой, то есть ее исходный код находится в открытом доступе
Подробная документация - у Pandas есть свой официальный сайт, на котором располагается подробная документация с пояснениями. Подробнее можно узнать по следующей ссылке: https://pandas.pydata.org/docs/
👍3
😳Как изменился рынок Data Science за последнее время?
Data Science является одной из самых перспективных и быстрорастущих отраслей не только в России, но и в мире. Причем, данные изменения затронули самые различные отрасли:
Медицина. Британский стартап Babylon Health предложил новый подход к здравоохранению. В наше время ланное решение компании использует не только алгоритмы ИИ для анализа состояния пациента, но опыт и рекомендации реальных врачей. Это помогает выбрать оптимальный подход к диагностике проблем и заботе о здоровье. Сервис ориентирован на выявление потенциальных рисков, с которыми может столкнуться пациент. Российская разработка проекта «Цельс» производит анализ флюорографии, томографии и КТ при помощи алгоритмов ИИ. Данное решение помогает увеличить показатели выявляемости онкологических заболеваний и снизить стоимость затрат на медицинские услуги. Точность диагностики — 93–95%, к сегодняшнему дню компанией проведено и обработано около 20 млн исследований.
Телеком. Операторы связи также модернизируют оборудование и применяют новый подход при работе с данными. К примеру, компания «Tele2», как и многие международные компании, начала использование кластера Hadoop, увеличив тем самым емкость платформы почти на 40% и разделила пространство на два отдельных сегмента. В одном из них реализуются проекты, связанные с обработкой данных, в другом — Data Science. Благодаря подобной конфигурации увеличивается вычислительная мощность системы, что позволяет решать высоконагруженные задачи.
Банковская сфера. Цифровая трансформация — одно из главных направлений развития банковского сектора в наше время. Здесь уже давно используют современные технологии, обрабатывают огромные массивы данных, внедряют инновации и предлагают пользователям индивидуальные предложения. Например, Сингапурский банк UOB активно применяет алгоритмы ИИ для создания более персонализированного сервиса. Искусственный интеллект анализирует расходы клиента и на основе полученной информации формирует уникальные предложения для клиентов.
Data Science является одной из самых перспективных и быстрорастущих отраслей не только в России, но и в мире. Причем, данные изменения затронули самые различные отрасли:
Медицина. Британский стартап Babylon Health предложил новый подход к здравоохранению. В наше время ланное решение компании использует не только алгоритмы ИИ для анализа состояния пациента, но опыт и рекомендации реальных врачей. Это помогает выбрать оптимальный подход к диагностике проблем и заботе о здоровье. Сервис ориентирован на выявление потенциальных рисков, с которыми может столкнуться пациент. Российская разработка проекта «Цельс» производит анализ флюорографии, томографии и КТ при помощи алгоритмов ИИ. Данное решение помогает увеличить показатели выявляемости онкологических заболеваний и снизить стоимость затрат на медицинские услуги. Точность диагностики — 93–95%, к сегодняшнему дню компанией проведено и обработано около 20 млн исследований.
Телеком. Операторы связи также модернизируют оборудование и применяют новый подход при работе с данными. К примеру, компания «Tele2», как и многие международные компании, начала использование кластера Hadoop, увеличив тем самым емкость платформы почти на 40% и разделила пространство на два отдельных сегмента. В одном из них реализуются проекты, связанные с обработкой данных, в другом — Data Science. Благодаря подобной конфигурации увеличивается вычислительная мощность системы, что позволяет решать высоконагруженные задачи.
Банковская сфера. Цифровая трансформация — одно из главных направлений развития банковского сектора в наше время. Здесь уже давно используют современные технологии, обрабатывают огромные массивы данных, внедряют инновации и предлагают пользователям индивидуальные предложения. Например, Сингапурский банк UOB активно применяет алгоритмы ИИ для создания более персонализированного сервиса. Искусственный интеллект анализирует расходы клиента и на основе полученной информации формирует уникальные предложения для клиентов.
eMed UK
About Us | eMed UK
Babylon is a value-based care platform. We deliver digital-first, high-quality healthcare AI-powered technology developed by the world's leading providers.
🔥Обрабатываем данные с помощью Elastic Stack
Elastic Stack — обширная экосистема компонентов, которые служат для поиска и обработки больших данных. Данная экосистема является распределенной системой на основе JSON, которая сочетает в себе функции NoSQL-базы данных. Работу Elastic Stack обеспечивают такие компоненты, как:
• Elasticsearch - это большое, быстрое и хорошо масштабируемое нереляционное хранилище данных, которое стало отличным инструментом для поиска и аналитики журналов благодаря мощности, простоте, документам JSON без схем, поддержке разных языков и геолокации. Система может быстро обрабатывать большие объемы журналов, индексировать системные логи по мере поступления и выполнять запросы к ним в режиме реального времени. Выполнение операций в Elasticsearch, таких как чтение или запись данных, обычно занимает менее секунды, что позволяет использовать его в таких примерах, где необходимо реагировать почти в режиме реального времени, например, для мониторинга приложений и обнаружения каких-либо аномалий.
• Longstash - данная утилита помогает централизовать данные, связанные с событиями, такие как сведения из файлов регистрации (логов), разные показатели (метрики) или любые другие данные в любом формате. Она может выполнить обработку данных до того, как сформировать нужную вам выборку. Это ключевой компонент Elastic Stack, который используется для сбора и обработки ваших контейнеров данных. Logstash считается компонентом на стороне сервера. Его основная цель — выполнение сбора данных из обширного количества источников ввода в масштабируемом виде, а также обработатка информации и отправка ее по месту назначения. По умолчанию преобразованная информация поступает в Elasticsearch, также существует возможность выбрать один из многих других вариантов вывода. Архитектура Logstash основана на плагинах и легко расширяется. Поддерживаются три вида плагинов: ввода, фильтрации и вывода.
• Kibana - это инструмент для визуализации в Elastic Stack, который помогает наглядно представить данные в Elasticsearch. В Kibana предлагается множество вариантов визуализаций, таких как гистограмма, карта, линейные графики, временные ряды и др. Kibana позволяет создавать визуализации буквально парой щелчков кнопкой мыши и исследовать свои данные в интерактивном виде. Кроме того, есть возможность создавать красивые панели управления, состоящие из различных визуализаций, делиться ими, а также получать высококачественные отчеты.
• Beats - это платформа доставки данных с открытым исходным кодом, дополняющая Logstash. В отличие от Logstash, работающей на серверной стороне, Beats располагается на стороне клиента. В основе данной платформы лежит библиотека libbeat, которая предоставляет API для передачи данных от источника, настройки ввода и реализации сбора данных. Beats устанавливается на устройства, которые не являются частью серверных компонентов, таких как Elasticsearch, Logstash или Kibana. Они размещаются на не кластерных узлах, которые также иногда называют пограничными узлами.
Загрузить элементы Elastic Stack можно по следующей ссылке: https://www.elastic.co/elastic-stack/
Elastic Stack — обширная экосистема компонентов, которые служат для поиска и обработки больших данных. Данная экосистема является распределенной системой на основе JSON, которая сочетает в себе функции NoSQL-базы данных. Работу Elastic Stack обеспечивают такие компоненты, как:
• Elasticsearch - это большое, быстрое и хорошо масштабируемое нереляционное хранилище данных, которое стало отличным инструментом для поиска и аналитики журналов благодаря мощности, простоте, документам JSON без схем, поддержке разных языков и геолокации. Система может быстро обрабатывать большие объемы журналов, индексировать системные логи по мере поступления и выполнять запросы к ним в режиме реального времени. Выполнение операций в Elasticsearch, таких как чтение или запись данных, обычно занимает менее секунды, что позволяет использовать его в таких примерах, где необходимо реагировать почти в режиме реального времени, например, для мониторинга приложений и обнаружения каких-либо аномалий.
• Longstash - данная утилита помогает централизовать данные, связанные с событиями, такие как сведения из файлов регистрации (логов), разные показатели (метрики) или любые другие данные в любом формате. Она может выполнить обработку данных до того, как сформировать нужную вам выборку. Это ключевой компонент Elastic Stack, который используется для сбора и обработки ваших контейнеров данных. Logstash считается компонентом на стороне сервера. Его основная цель — выполнение сбора данных из обширного количества источников ввода в масштабируемом виде, а также обработатка информации и отправка ее по месту назначения. По умолчанию преобразованная информация поступает в Elasticsearch, также существует возможность выбрать один из многих других вариантов вывода. Архитектура Logstash основана на плагинах и легко расширяется. Поддерживаются три вида плагинов: ввода, фильтрации и вывода.
• Kibana - это инструмент для визуализации в Elastic Stack, который помогает наглядно представить данные в Elasticsearch. В Kibana предлагается множество вариантов визуализаций, таких как гистограмма, карта, линейные графики, временные ряды и др. Kibana позволяет создавать визуализации буквально парой щелчков кнопкой мыши и исследовать свои данные в интерактивном виде. Кроме того, есть возможность создавать красивые панели управления, состоящие из различных визуализаций, делиться ими, а также получать высококачественные отчеты.
• Beats - это платформа доставки данных с открытым исходным кодом, дополняющая Logstash. В отличие от Logstash, работающей на серверной стороне, Beats располагается на стороне клиента. В основе данной платформы лежит библиотека libbeat, которая предоставляет API для передачи данных от источника, настройки ввода и реализации сбора данных. Beats устанавливается на устройства, которые не являются частью серверных компонентов, таких как Elasticsearch, Logstash или Kibana. Они размещаются на не кластерных узлах, которые также иногда называют пограничными узлами.
Загрузить элементы Elastic Stack можно по следующей ссылке: https://www.elastic.co/elastic-stack/
Elastic
Elastic Stack: (ELK) Elasticsearch, Kibana & Logstash
Reliably and securely take data from any source, in any format, then search, analyze, and visualize it in real time.
👍2