[Перевод] Малоизвестные библиотеки Python для науки о данных

искусственный интеллект Программа перевода самородков Python алгоритм
[Перевод] Малоизвестные библиотеки Python для науки о данных

ПК:Hitesh ChoudharyОтUnsplash

Python — отличный язык. Это один из самых быстрорастущих языков программирования в мире. Он снова и снова оказывается полезным для разработчиков и специалистов по обработке и анализу данных в разных отраслях. Вся экосистема Python и его библиотек делает его подходящим выбором для пользователей во всем мире (как для начинающих, так и для опытных пользователей). Одной из причин его успеха и популярности является обширная коллекция сторонних библиотек, которые поддерживают его работоспособность и эффективность.

В этой статье мы рассмотрим некоторые библиотеки Python для задач науки о данных, а не общие, такие какпанды, scikit-learn и matplotlib и т. д.библиотека. Хотя вродепанды и scikit-learnПодобные библиотеки часто используются для задач машинного обучения, но всегда полезно знать о других продуктах Python в этой области.


Wget

Извлечение данных из Интернета — одна из важных задач специалиста по данным.Wget— бесплатная утилита, которую можно использовать для загрузки неинтерактивных файлов из Интернета. Он поддерживает протоколы HTTP, HTTPS и FTP, а также извлечение файлов через HTTP-прокси. Поскольку он не интерактивен, он работает в фоновом режиме, даже если пользователь не вошел в систему. Поэтому в следующий раз, когда вы захотите загрузить все изображения на веб-сайте или странице,wgetмогу помочь тебе.

Установить:

$ pip install wget

пример:

import wget
url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'

filename = wget.download(url)
100% [................................................] 3841532 / 3841532

filename
'razorback.mp3'

Pendulum

Для тех из вас, кто разочаровывается при работе с датами и временем в python, Pendulum для вас. это упрощениедата и времяПакет Python для манипуляций. Это простая замена нативным классам Python. видетьДокументацияГлубокое обучение.

Установить:

$ pip install pendulum

пример:

import pendulum

dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto')
dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')

print(dt_vancouver.diff(dt_toronto).in_hours())

3

imbalanced-learn

Можно видеть, что большинство алгоритмов классификации работают лучше всего, когда количество выборок в каждом классе в основном одинаково, т. е. необходимо поддерживать баланс данных. Однако большинство реальных случаев представляют собой несбалансированные наборы данных, которые оказывают большое влияние на этап обучения и последующее прогнозирование алгоритмов машинного обучения. К счастью, эта библиотека предназначена для решения этой проблемы. это сscikit-learnсовместимы, даscikit-lear-contribчасть проекта. Попробуйте в следующий раз, когда столкнетесь с несбалансированным набором данных.

Установить:

pip install -U imbalanced-learn

# 或者

conda install -c conda-forge imbalanced-learn

пример:

Использование и примеры см.Документация.

FlashText

В задачах НЛП очистка текстовых данных часто требует замены или извлечения ключевых слов из предложений. Обычно это можно сделать с помощью регулярных выражений, но это может стать громоздким, если количество поисковых терминов исчисляется тысячами. ПитонFlashTextмодуль основан наАлгоритм FlashTextпредлагает подходящую альтернативу для этой ситуации. Отличительной особенностью FlashText является то, что время выполнения одинаково независимо от количества условий поиска. ты сможешьздесьВыучить больше.

Установить:

$ pip install flashtext

пример:

Извлечь ключевые слова

from flashtext import KeywordProcessor
keyword_processor = KeywordProcessor()

# keyword_processor.add_keyword(<unclean name>, <standardised name>)

keyword_processor.add_keyword('Big Apple', 'New York')
keyword_processor.add_keyword('Bay Area')
keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')

keywords_found
['New York', 'Bay Area']

заменить ключевое слово

keyword_processor.add_keyword('New Delhi', 'NCR region')

new_sentence = keyword_processor.replace_keywords('I love Big Apple and new delhi.')

new_sentence
'I love New York and NCR region.'

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

Fuzzywuzzy

Название этой библиотеки может показаться странным, но когда дело доходит до сопоставления строк, fuzzywuzzy оказывается очень полезной библиотекой. Он может легко выполнять такие операции, как вычисление степени совпадения строк, степени совпадения токенов и т. д., а также может легко сопоставлять записи, сохраненные в разных базах данных.

Установить:

$ pip install fuzzywuzzy

пример:

from fuzzywuzzy import fuzz
from fuzzywuzzy import process

# 简单匹配度

fuzz.ratio("this is a test", "this is a test!")
97

# 模糊匹配度
fuzz.partial_ratio("this is a test", "this is a test!")
 100

Более интересные примеры можно найти наРепозиторий GitHubоказаться.

PyFlux

Анализ временных рядов — одна из самых распространенных задач в области машинного обучения.PyFluxэто библиотека с открытым исходным кодом на Python для обработкипоследовательнопроблема построена. В библиотеке есть отличная коллекция современных моделей временных рядов, включая, помимо прочего,АРИМА, ГАРЧиVARМодель. Короче говоря, PyFlux обеспечивает вероятностный подход к моделированию временных рядов. Стоит попробовать.

Установить

pip install pyflux

пример

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

Ipyvolume

Представление результатов также является важным аспектом в науке о данных. Возможность визуализировать результаты будет большим преимуществом. IPyvolume — это библиотека Python, которая может визуализировать трехмерные объемы и графики (например, трехмерные диаграммы рассеяния и т. д.) в ноутбуках Jupyter с минимальной конфигурацией. Но он все еще находится на стадии версии до 1.0. Более подходящая аналогия для объяснения: IPyvolume'svolshowДля 3D-массивов, таких как matplotlibimshowРаботает так же хорошо для 2D-массивов. допустимыйздесьПолучите больше.

使用 pip
$ pip install ipyvolume

使用 Conda/Anaconda
$ conda install -c conda-forge ipyvolume

пример

  • анимация

  • объемный рендеринг

Dash

Dash — это эффективная среда Python для создания веб-приложений. Он разработан на основе Flask, Plotly.js и React.js. Он связан со многими современными элементами пользовательского интерфейса, такими как раскрывающиеся списки, ползунки и диаграммы. Вы можете напрямую использовать код Python для написания соответствующего анализа без необходимости Используйте javascript. Dash отлично подходит для создания приложений для визуализации данных. Затем эти приложения могут быть отображены в веб-браузере. Руководство пользователя можно найти наздесьПолучать.

Установить

pip install dash==0.29.0  # 核心 dash 后端
pip install dash-html-components==0.13.2  # HTML 组件
pip install dash-core-components==0.36.0  # 增强组件
pip install dash-table==3.1.3  # 交互式 DataTable 组件(最新!)

пример

В приведенном ниже примере показан интерактивный график с раскрывающимся списком. Когда пользователь выбирает значение в раскрывающемся меню, код приложения будет динамически экспортировать данные из Google Finance в Panda DataFrame.Исходный код здесь

Gym

OpenAIThe Gym — это набор инструментов для разработки и сравнения алгоритмов обучения с подкреплением. Он совместим с любой библиотекой числовых вычислений, такой как TensorFlow или Theano. Библиотека Gym — это обязательный инструмент для тестирования набора вопросов, также известных как среды, которые вы можете использовать для разработки своих алгоритмов обучения с подкреплением. Эти среды имеют общий интерфейс, позволяющий писать общие алгоритмы.

Установить

pip install gym

пример

Этот пример будет работатьCartPole-v0Экземпляр в среде, который имеет 1000 временных шагов, и каждый шаг отображает всю сцену.

ты сможешьздесьПолучить информацию о других средах.


Суммировать

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

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.