Найти в Дзене
Машинное обучение

15 полезных библиотек Python для работы с данными

Независимо от того, используете ли вы данные для бизнес-анализа или для построения моделей машинного обучения, плохо структурированные данные могут мешать работе и отнимать много времени на обработку данных. В этой статье я собрал полезные библиотеки Python с открытым исходным кодом, которые помогут вам улучшить качество обработки данных в вашей повседневной работе. Я начну с библиотек обработки и оценки данных для исследовательской и предиктивной аналитики. Затем рассмотрю библиотеки для очистки и форматированию данных и закончу с инструментами визуализации данных. Профилирование и оценка данных 1. Pandas Profiling [Github] Ключевые особенность: - возможность профилирование данных - легкое распределение данных и простое построение гистограмм - удобные встроенные функции статистики (среднее значение, стандартное отклонение, Q1, …) - быстрый поиск и корреляции данных - легкое создание отчета в HTML 2. Great Expectations [Github] Great Expectations помогает специалистам по работ
Оглавление

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

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

Я начну с библиотек обработки и оценки данных для исследовательской и предиктивной аналитики. Затем рассмотрю библиотеки для очистки и форматированию данных и закончу с инструментами визуализации данных.

Профилирование и оценка данных

1. Pandas Profiling [Github]

Ключевые особенность:

- возможность профилирование данных

- легкое распределение данных и простое построение гистограмм

- удобные встроенные функции статистики (среднее значение, стандартное отклонение, Q1, …)

- быстрый поиск и корреляции данных

- легкое создание отчета в HTML

матрица корреляции
матрица корреляции

2. Great Expectations [Github]

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

Ключевая функции библиотеки:

  • expect_column_values_to_not_be_null
  • expect_column_values_to_match_regex
  • expect_column_values_to_be_unique
  • expect_column_values_to_match_strftime_format
  • expect_table_row_count_to_be_between
  • expect_column_median_to_be_between
  • Интеграция со многими инструментами и системами, такими как (Pandas, Jupyter Notebooks, Spark, mysql, databricks, …)
  • и многие другие функции

Думаю , что из названия классов понятны возможности этой замечательной библиотеки.

-3

3. SodaSQL [Github]

SodaSQL - инструмент командной строки с открытым исходным кодом, выполняющий SQL-запросы на основе входных данных для запуска тестов на разных наборах данных в разных источниках данных (таких как Snowflake, PostgreSQL, Athena, …). SodaSQL прекрасно подходит для поиска шумов в данных или заполнения отсутствующих данных.

Кроме того, SodaSQL позволяет легко работать со статистикой м выводить как min, max, avg, stddev и многие другие.

Ключевые особенности SodaSQL:

- Содержит набор встроенных SQL-тестов

- Быстрое развертывание тестов в формате yml для каждой таблицы данных

- Легко интегрируется с другими инструментами по работе с данными

- Легко и быстро импортируется , позволяет анализировать датасеты в несколько строк кода

- Содержит встроенные определители формата столбцов (например, адрес электронной почты, дата, номера телефонов и т. д.)

- Возвращает результаты тестов Json

4. Ydata [Github]

Библиотека для оценки качества данных,которая помогает получить целостное представление о данных, рассматривая их с разных сторон:

Ydata позволят:

- легко заполнять Отсутствующие значения

- быстро удалять дубликаты

- простое обнаружение выбросов в данных

- содержит встроенный поиск зависимости данных и их корреляции

- содержит легкое и удобное автоматизация создания отчетов.

-4

5. DeepChecks [Github]

Пакет Python для проверки моделей и данных машинного обучения с минимальными усилиями.

DeepChecks позволяет проводить проверки, связанные с различными типами проблем, такими как производительность модели, целостность данных, несоответствие распределения и многие другое

DeepsChecks предоставляет возможность легко писать кастомные функции проверки работы мл моделей. Результаты работы DeepsChecks визуализируются встроенными функциями в виде таблиц или графиков.

-5

6. Evidently AI [Github]

Инструмент для анализа и мониторинга моделей машинного обучения.

Ключевые особенности:

- построение распределение данных

- Удобное Обнаружение дрейфа данных, показывающие, что одна или несколько функций/признаков в вашей модели существенно изменились

- Создание пользовательской панели инструментов

- Риалтайм отображение состояния и производительность модели

- Интеграция с Grafana и Prometheus

-6

7. Alibi Detect [Github]

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

Ключевые особенности:

- Обнаружение дрейфа и выбросов для табличных данных, текста, изображений и временных рядов

- Работает какс онлайн, так и оффлайн детекторами

- Поддерживаются TensorFlow и PyTorch бэкенды для обнаружения дрейфа.

8. Scrabadub [Github]

Идентифицирует и удаляет PII (персональную информацию) из текста. как данных, номера телефонов, адреса, номера кредитных карт и многое другое.

text = "My cat can be contacted on example@example.com, or 1800 555-5555" scrubadub.clean(text)
>>
'My cat can be contacted on {{EMAIL}}, or {{PHONE}}'

9. Arrow [Github]

Arrow обеспечивает удобный функционал к созданию, манипулированию, форматированию и преобразованию дат, времени и временных меток.

utc = arrow.utcnow()
time= utc.to('US/Pacific')
past = time.dehumanize("2 days ago")
print(past)
>> 2022-01-09T10:11:11.939887+00:00
print(past.humanize(locale="ar"))

10. Beautifier [Github]

Библиотека для очистки URL и электронных писем. Кроме того, она позволяет:

- Проверить валидность электронной почты

- Сортировать электронные письма по домену и имени пользователя

- Сортировать URL по домену и параметрам

- Удалять юникоды, специальные символы из строк

11. Ftfy [Github]

Ftfy = «Исправляет текст за вас», и это именно то, что делает эта библиотека:

- Исправляет строки с кривым юникодом

- Удаляет разрывы строк

- Преобразовывает html в обычный текст

- Предоставьте объяснение, чтобы показать нам, что произошло с текстом

ftfy.fix_text('The Mona Lisa doesn’t have eyebrows.')
>>
"The Mona Lisa doesn't have eyebrows."

12. Dora [Github]

Инструмент исследовательского анализа данных для Python.

Библиотека содержит удобные функции для очистки и обработки данных , визуализации, анализа данных и проверки моделей мо.

Чтение данных :

# without initial config >>> dora = Dora()
>>> dora.configure(output = 'A', data = 'path/to/data.csv')

# is the same as >>> import pandas as pd >>> dataframe = pd.read_csv('path/to/data.csv')
>>> dora = Dora(output = 'A', data = dataframe)

>>> dora.data A B C D useless_feature 0 1 2 0 left 1 1 4 NaN 1 right 1 2 7 8 2 left 1

Очистка данных:

# read data with missing and poorly scaled values >>> import pandas as pd >>> df = pd.DataFrame([
... [1, 2, 100],
... [2, None, 200],
... [1, 6, None]
... ])
>>> dora = Dora(output = 0, data = df)
>>> dora.data 0 1 2 0 1 2 100 1 2 NaN 200 2 1 6 NaN
# impute the missing values (using the average of each column) >>> dora.impute_missing_values()
>>> dora.data 0 1 2 0 1 2 100 1 2 4 200 2 1 6 150
# scale the values of the input variables (center to mean and scale to unit variance) >>> dora.scale_input_values()
>>> dora.data 0 1 2 0 1 -1.224745 -1.224745 1 2 0.000000 1.224745 2 1 1.224745 0.000000

Проверка работы моделей:

# create random partition of training / validation data (~ 80/20 split) dora.set_training_and_validation()

# train a model on the data X = dora.training_data[dora.input_columns()]
y = dora.training_data[dora.output]

some_model.fit(X, y)

# validate the model X = dora.validation_data[dora.input_columns()]
y = dora.validation_data[dora.output]

some_model.score(X, y)

175 / 5 000

13. Tabulate [Github]

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

Tabulate выводит таблицы в читабельными виде. С Tabulate содержит удобные функции форматирование таблицы в Html и другие форматы.

-7
>>> from tabulate import tabulate

>>> table = [["Sun",696000,1989100000],["Earth",6371,5973.6],
... ["Moon",1737,73.5],["Mars",3390,641.85]]
>>> print(tabulate(table))
----- ------ -------------
Sun 696000 1.9891e+09
Earth 6371 5973.6
Moon 1737 73.5
Mars 3390 641.85
----- ------ -------------

14. PrettyPandas [Github]

PrettyPandas помогает создавать таблицы отчетов с помощью простого API. PrettyPandas делает таблицы более читабельными.

(
df .pipe(PrettyPandas)
.as_currency('GBP', subset='A')
.as_percent(subset='B')
.total()
.average()
)

-8

15. Open Neural Network Exchange (ONNX)[Github]

Open Neural Network Exchange (ONNX) — это открытая экосистема, которая позволяет разработчикам ИИ выбирать правильные инструменты по мере развития своего проекта. ONNX предоставляет формат с открытым исходным кодом для моделей ИИ, как для глубокого обучения, так и для традиционного машинного обучения. Он предоставляет модель графов вычислений, а также набор встроенных операторов и стандартных типов данных.

https://t.me/ai_machinelearning_big_data - больше интересного из мира машинного обучения

https://t.me/pro_python_code 1 канал о Python вместо тысячи учебиков