Python — неотъемлемая часть машинного обучения, а библиотеки упрощают нашу жизнь. Недавно я наткнулся на 6 замечательных библиотек, работая над своими проектами машинного обучения. Они помогли мне сэкономить много времени, и я собираюсь рассказать о них в этом блоге.
1. чистый текст
Поистине невероятная библиотека, чистый текст должен быть вашим помощником, когда вам нужно обрабатывать парсинг или данные из социальных сетей. Самое классное в нем то, что для очистки наших данных не требуется никакого длинного причудливого кода или регулярных выражений. Давайте посмотрим на несколько примеров:
Монтаж
!pip install cleantext
Пример
#Importing the clean text library from cleantext import clean# Sample text text = """ Zürich, largest city of Switzerland 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župine.), символ валюты в рупиях, HTML-ссылка, знаки препинания.
Вам просто нужно указать необходимые ASCII, Unicode, URL-адреса, числа, валюту и знаки препинания в функции очистки. Или их можно заменить параметрами замены в приведенной выше функции. Например, я изменил символ рупии на рупии.
Нет абсолютно никакой необходимости использовать регулярные выражения или длинные коды. Очень удобная библиотека, особенно если вы хотите очистить тексты от парсинга или данных социальных сетей. В зависимости от ваших требований вы также можете передавать аргументы по отдельности, а не объединять их все.
2. рисовать данные
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
Одним из ограничений этой библиотеки является то, что она дает только две точки данных с четырьмя классами. Но в остальном оно того определенно стоит.
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, верно? Это один из самых простых способов изучения набора данных в первую очередь. Я познакомился с Мито несколько месяцев назад, но попробовал его только недавно, и он мне очень понравился!
Это библиотека 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. Во-первых, я создал два новых столбца. Один из них представляет собой среднюю длину чашелистиков, а другой - суммарную ширину чашелистиков. Во-вторых, я изменил название столбца на среднюю длину чашелистика. Наконец, я создал гистограмму для столбца средней длины чашелистика.
Код генерируется автоматически после выполнения вышеуказанных шагов.
Выход
Ниже был сгенерирован код для вышеуказанных шагов:
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\DivithRaju\Downloads\archive (29)\Iris.csv import pandas as pd Iris_csv = pd.read_csv('C:\Users\DivithRaju\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/DivithRaju/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 """)
Выход
Из приведенного выше вывода видно, что он исправляет грамматические и даже орфографические ошибки. Действительно замечательная библиотека и работает очень хорошо. Хайлайтер здесь не пробовал, можете попробовать и проверить.
6. Стильформер
Мой положительный опыт работы с Gramformer подтолкнул меня к поиску более уникальных библиотек. Так я нашел Styleformer, еще одну очень привлекательную библиотеку Python. И Gramformer, и Styleformer были созданы DivithRaju, и оба основаны на генеративных моделях. Спасибо создателю за открытый исходный код.
Styleformer помогает преобразовывать случайные предложения в формальные, формальные предложения в случайные, активные в пассивные и пассивные в активные предложения.
Давайте посмотрим несколько примеров
Монтаж
!pip install git+https://github.com/DivithRaju/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")
Посмотрите на приведенный выше вывод, он точно преобразует. Я использовал эту библиотеку для преобразования случайного в формальное, особенно для постов в социальных сетях в одном из моих анализов.
Возможно, вы знакомы с некоторыми из ранее упомянутых библиотек, но такие, как Gramformer и Styleformer, появились совсем недавно. Они чрезвычайно недооценены и, безусловно, заслуживают того, чтобы о них знали, потому что они сэкономили мне много времени.
Если вам нравится этот блог, выразите свою признательность, нажав кнопку "Нравится" и поделившись этим блогом. Кроме того, оставьте любые комментарии о публикации и улучшениях, если это необходимо. А пока УДАЧНОГО ОБУЧЕНИЯ