6 классных библиотек Python, которые я недавно встречал
Замечательные библиотеки Python для машинного обучения
Python - неотъемлемая часть машинного обучения, а библиотеки упрощают нашу жизнь. Недавно я наткнулся на 6 замечательных библиотек, работая над своими проектами машинного обучения. Они помогли мне сэкономить много времени, и я собираюсь обсудить их в этом блоге.
1. чистый текст
Поистине невероятная библиотека, чистый текст должен стать вашим помощником, когда вам нужно обработать парсинг или данные социальных сетей. Самое крутое в нем то, что он не требует длинного модного кода или регулярных выражений для очистки наших данных. Давайте посмотрим на несколько примеров:
Установка
!pip install cleantext
Пример
#Importing the clean text library from cleantext import clean # Sample text text = """ Zürich, largest city of Switzerland and capital of the canton of 633Zürich. Located in an Al\u017eupine. (https://google.com). Currency is not ₹""" # Cleaning the "text" with clean text clean(text, fix_unicode=True, to_ascii=True, lower=True, no_urls=True, no_numbers=True, no_digits=True, no_currency_symbols=True, no_punct=True, replace_with_punct=" ", replace_with_url="", replace_with_number="", replace_with_digit=" ", replace_with_currency_symbol="Rupees")
Выход
Из приведенного выше мы видим, что в слове Zurich есть Unicode (буква «u» была закодирована), символы ASCII (в Al \ u017eupine.), Символ валюты в рупиях, HTML-ссылка, знаки препинания.
Вам просто нужно указать необходимые ASCII, Unicode, URL-адреса, числа, валюту и знаки препинания в функции очистки. Или их можно заменить параметрами замены в приведенной выше функции. Например, я изменил символ рупии на рупии.
Совершенно не нужно использовать регулярные выражения или длинные коды. Очень удобная библиотека, особенно если вы хотите очистить тексты от парсинга или данных социальных сетей. В зависимости от ваших требований вы также можете передавать аргументы по отдельности, а не объединять их все.
Для получения более подробной информации посетите этот репозиторий GitHub.
2. drawdata
Drawdata - еще одна моя интересная находка из библиотеки Python. Сколько раз вы сталкивались с ситуацией, когда вам нужно объяснить концепции машинного обучения команде? Это должно происходить часто, потому что наука о данных - это командная работа. Эта библиотека поможет вам нарисовать набор данных в записной книжке Jupyter.
Лично мне очень понравилось пользоваться этой библиотекой, когда я объяснил концепции машинного обучения своей команде. Престижность разработчикам, создавшим эту библиотеку!
Drawdata предназначена только для задачи классификации с четырьмя классами.
Установка
!pip install drawdata
Пример
# Importing the drawdata from drawdata import draw_scatter draw_scatter()
Выход
Вышеуказанные окна рисования откроются после выполнения draw_Scatter (). Ясно, что существует четыре класса, а именно A, B, C и D. Вы можете щелкнуть любой класс и нарисовать нужные точки. Каждый класс представляет разные цвета на чертеже. У вас также есть возможность загрузить данные в виде файла csv или json. Кроме того, данные можно скопировать в буфер обмена и прочитать из приведенного ниже кода.
#Reading the clipboard import pandas as pd df = pd.read_clipboard(sep=",") df
Одним из ограничений этой библиотеки является то, что она дает только две точки данных с четырьмя классами. Но в остальном оно того стоит. Для более подробной информации, пожалуйста, проверьте эту ссылку GitHub.
3. Автовиз
Я никогда не забуду время, которое потратил на исследовательский анализ данных с помощью matplotlib. Есть много простых библиотек визуализации. Однако недавно я узнал об Autoviz, который автоматически визуализирует любой набор данных с помощью одной строчки кода.
Установка
!pip install autoviz
Пример
В этом примере я использовал набор данных IRIS.
# Importing Autoviz class from the autoviz library from autoviz.AutoViz_Class import AutoViz_Class #Initialize the Autoviz class in a object called df df = AutoViz_Class() # Using Iris Dataset and passing to the default parameters filename = "Iris.csv" sep = "," graph = df.AutoViz( filename, sep=",", depVar="", dfte=None, header=0, verbose=0, lowess=False, chart_format="svg", max_rows_analyzed=150000, max_cols_analyzed=30, )
Вышеуказанные параметры являются параметрами по умолчанию. Для получения дополнительной информации, пожалуйста, отметьте здесь.
Выход
Мы можем увидеть все визуальные эффекты и завершить наш EDA с помощью одной строчки кода. Существует множество библиотек автоматической визуализации, но мне очень понравилось знакомиться с этой, в частности.
4. Мито
Всем нравится Excel, правда? Это один из самых простых способов изучить набор данных в первую очередь. Я наткнулся на Mito несколько месяцев назад, но попробовал его совсем недавно, и он мне очень понравился!
Это библиотека Python расширения Jupyter-lab с поддержкой графического интерфейса, которая добавляет функциональность электронных таблиц. Вы можете загрузить свои данные csv и отредактировать набор данных как электронную таблицу, и он автоматически сгенерирует код Pandas. Очень круто.
Мито действительно заслуживает целого сообщения в блоге. Однако сегодня я не буду вдаваться в подробности. Вот вам простая демонстрация задачи. Для более подробной информации, пожалуйста, отметьте здесь.
Установка
#First install mitoinstaller in the command prompt pip install mitoinstaller # Then, run the installer in the command prompt python -m mitoinstaller install # Then, launch Jupyter lab or jupyter notebook from the command prompt python -m jupyter lab
Для получения дополнительной информации по установке, пожалуйста, отметьте здесь.
# Importing mitosheet and ruuning this in Jupyter lab import mitosheet mitosheet.sheet()
После выполнения вышеуказанного кода mitosheet откроется в лаборатории jupyter. Я использую набор данных IRIS. Во-первых, я создал две новые колонки. Один - средняя длина чашелистиков, а другой - суммарная ширина чашелистиков. Во-вторых, я изменил название столбца на среднюю длину Sepal. Наконец, я создал гистограмму для столбца средней длины Sepal.
Код создается автоматически после выполнения вышеупомянутых шагов.
Выход
Для вышеуказанных шагов был сгенерирован код ниже:
from mitosheet import * # Import necessary functions from Mito register_analysis('UUID-119387c0-fc9b-4b04-9053-802c0d428285') # Let Mito know which analysis is being run # Imported C:\Users\Dhilip\Downloads\archive (29)\Iris.csv import pandas as pd Iris_csv = pd.read_csv('C:\Users\Dhilip\Downloads\archive (29)\Iris.csv') # Added column G to Iris_csv Iris_csv.insert(6, 'G', 0) # Set G in Iris_csv to =AVG(SepalLengthCm) Iris_csv['G'] = AVG(Iris_csv['SepalLengthCm']) # Renamed G to Avg_Sepal in Iris_csv Iris_csv.rename(columns={"G": "Avg_Sepal"}, inplace=True)
5. Грамформер
Еще одна впечатляющая библиотека, Gramformer, основана на генеративных моделях, которые помогают нам исправлять грамматику в предложениях. В этой библиотеке есть три модели, которые имеют детектор, маркер и корректор. Детектор определяет, если текст имеет неправильную грамматику. Маркер отмечает ошибочные части речи, а корректор исправляет ошибки. Gramformer является полностью открытым исходным кодом и находится на начальной стадии. Но он не подходит для длинных абзацев, так как работает только на уровне предложения и был обучен для 64 длинных предложений.
На данный момент работает модель корректора и хайлайтера. Давайте посмотрим на несколько примеров.
Установка
!pip3 install -U git+https://github.com/PrithivirajDamodaran/Gramformer.git
Создать экземпляр Gramformer
gf = Gramformer(models = 1, use_gpu = False) # 1=corrector, 2=detector (presently model 1 is working, 2 has not implemented)
Пример
#Giving sample text for correction under gf.correct gf.correct(""" New Zealand is island countrys in southwestern Paciific Ocaen. Country population was 5 million """)
Выход
Из вышеприведенного вывода мы видим, что он исправляет грамматические и даже орфографические ошибки. Действительно потрясающая библиотека и очень хорошо работает. Я не пробовал использовать подсветку здесь, вы можете попробовать и проверить эту документацию на GitHub для более подробной информации.
6. Styleformer
Мой положительный опыт работы с Gramformer побудил меня искать более уникальные библиотеки. Так я нашел Styleformer, еще одну очень привлекательную библиотеку Python. И Gramformer, и Styleformer были созданы Притхивираджем Дамодараном, и оба основаны на генеративных моделях. Престижность создателю за открытый исходный код.
Styleformer помогает преобразовывать обычные предложения в формальные, из формальных в случайные, из активных в пассивные и из пассивных в активные.
Давайте посмотрим на несколько примеров
Установка
!pip install git+https://github.com/PrithivirajDamodaran/Styleformer.git
Создание экземпляра Styleformer
sf = Styleformer(style = 0) # style = [0=Casual to Formal, 1=Formal to Casual, 2=Active to Passive, 3=Passive to Active etc..]
Примеры
# Converting casual to formal sf.transfer("I gotta go")
# Formal to casual sf = Styleformer(style = 1) # 1 -> Formal to casual # Converting formal to casual sf.transfer("Please leave this place")
# Active to Passive sf = Styleformer(style = 2) # 2-> Active to Passive # Converting active to passive sf.transfer("We are going to watch a movie tonight.")
# passive to active sf = Styleformer(style = 2) # 2-> Active to Passive # Converting passive to active sf.transfer("Tenants are protected by leases")
См. Вывод выше, он преобразуется точно. Я использовал эту библиотеку для преобразования повседневного в формальный, особенно для сообщений в социальных сетях в одном из моих анализов. Для получения более подробной информации посетите GitHub.
Возможно, вы знакомы с некоторыми из ранее упомянутых библиотек, но такие, как Gramformer и Styleformer, появились недавно. Они крайне недооценены и, безусловно, заслуживают того, чтобы о них знали, потому что они сэкономили мне много времени, и я активно использовал их в своих проектах НЛП.
Спасибо за прочтение. Если вам есть что добавить, не стесняйтесь оставлять комментарии!
Вам также может понравиться моя предыдущая статья Пять классных библиотек Python для науки о данных