Если вы специалист по данным, эти библиотеки спасут вам жизнь при реализации алгоритмов ML/DL.

Что ж, сказать, что я не использую библиотеки для своей работы как специалист по данным, это все равно, что сказать, что у меня есть велосипед, но я путешествую только пешком из одного места в другое. Теоретически это возможно, но не практично или эффективно для всех случаев. Как и в случае с различными видами транспорта, у нас есть несколько библиотек на Python, что делает нашу работу проще и быстрее. Знание этих библиотек поможет вам сэкономить энергию, время и умственные силы при реализации алгоритма с нуля.

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

NumPy

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

Вы можете узнать больше о NumPy здесь.

Попробуйте это для практического опыта:

  1. Создайте два массива размером (10, 10) с именами array1 и array2 и заполните их случайными целыми числами.
  2. Найдите позиции в массиве1, где значение больше 10, и сделайте их 0
  3. Найдите позиции в массиве2, где значение меньше 5, и сделайте их 10
  4. Умножьте эти два массива поэлементно
  5. Сохраните полученный массив в файле «.npy».

Постарайтесь реализовать их в как можно меньшем количестве строк, чтобы получить представление об эффективности NumPy.

Панды

Pandas в основном используется для чтения, анализа, обработки и сохранения табличных данных. Pandas по существу предоставляет две структуры данных.

  • Серия. Серия pandas представляет собой одномерную структуру данных, состоящую из пары ключ-значение. Это похоже на словарь Python.
  • DataFrame — кадр данных pandas — это двумерная структура данных. Это комбинация двух или более серий панд.

Всякий раз, когда я получаю данные в файле CSV, первое, что приходит мне в голову, — это проанализировать их с помощью pandas. Это необходимая библиотека для анализа данных, обработки и заполнения пропущенных значений и т. д.

Узнать больше о пандах можно здесь.

Попробуйте это для практического опыта:

  1. Загрузите csv отсюда и используйте его для всех экспериментов.
  2. Прочитайте CSV-файл и удалите повторяющиеся строки.
  3. Для столбца с целыми/плавающими значениями получите статистические параметры, такие как среднее значение, медиана, дисперсия и т. д.
  4. Записать кадр данных в файл csv

Матплотлиб

Matplotlib — это библиотека для визуализации данных. От визуализации данных для нашего понимания до создания красивой визуализации для презентации, matplotlib делает все это. Я думаю, вы понимаете, насколько важна роль matplotlib в жизни специалиста по данным.

Вы можете узнать больше о matplotlib здесь.

Попробуйте это для практического опыта:

  1. Нарисуйте стандартный график, используя данные двух рядов.
  2. Добавьте заголовок к графику, оси x и оси y.
  3. Добавить легенду к графику
  4. Сохраните график

Scikit-Learn

Scikit Learn — ценная библиотека для реализации различных традиционных алгоритмов машинного обучения, включая алгоритмы с учителем и без учителя. Вы можете реализовать различные алгоритмы, такие как деревья решений, случайный лес, KNN, K-means и т. д., доступные в Scikit. Эта библиотека также обеспечивает реализацию различных алгоритмов предварительной и последующей обработки данных, таких как нормализация, преобразование меток в горячее кодирование и т. д. Вы найдете эту библиотеку во многих курсах и книгах из-за ее широкого спектра реализаций. Поэтому всякий раз, когда вам нужно реализовать какой-либо базовый алгоритм машинного обучения, вы должны сначала попытаться увидеть, можно ли использовать обучение scikit или нет.

Узнать больше о Scikit можно здесь.

Попробуйте это для практического опыта:

  1. Скачиваем данные о жилье отсюда и читаем с помощью панд
  2. Заполните недостающие значения с помощью pandas, визуализируйте данные с помощью matplotlib
  3. Нормализуйте данные, используя модуль масштабирования sklearn, а затем подгоните модель линейной регрессии, используя sklearn.

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

OpenCV

Если вы работаете с изображениями или видео, практически невозможно найти библиотеку, которая соответствовала бы набору функций OpenCV. Он предоставляет широкий спектр традиционных алгоритмов обработки изображений, таких как обнаружение осторожных краев, SIFT, SURF, преобразование Хафа и т. Д. Он также обеспечивает реализацию алгоритмов на основе глубокого обучения для классификации изображений, обнаружения объектов, сегментации, обнаружения текста в изображениях и т. д. Я много работаю с изображениями и видео и могу сказать, что мне приходится использовать OpenCV хотя бы раз для любой задачи.

Вы можете узнать больше об OpenCV здесь.

Попробуйте это для практического опыта:

  1. Загрузите любое изображение, а затем прочитайте изображение с помощью OpenCV.
  2. Преобразование изображения в оттенки серого
  3. Используйте двусторонний фильтр, чтобы уменьшить шум на изображении, затем примените фильтры эрозии и расширения.
  4. Найдите края на изображении с помощью детектора краев Canny
  5. Сохраните новое изображение.

НЛТК

Как OpenCV — необходимая библиотека для изображений и видео, так и NLTK — необходимая библиотека для текстов. Для всех задач, таких как стемминг, лемматизация, генерация встраивания, токенизация, визуализация и т. д., вы можете использовать библиотеку NLTK. Некоторые из основных алгоритмов глубокого обучения также реализованы в библиотеке NLTK.

Подробнее о НЛТК можно узнать здесь.

Попробуйте это для практического опыта:

  1. Используйте этот корпус. Преобразование всего корпуса в нижний регистр
  2. Выполните токенизацию слова в корпусе, а затем выполните определение корней данных.

ПиТорч

Хотя я пишу это в последнюю очередь, я не могу в достаточной степени поблагодарить разработчиков PyTorch. Это моя любимая библиотека для реализации любой пользовательской нейронной сети или метода, основанного на глубоком обучении. Будь то аудио, текст, изображение, текст или табличные данные, вы можете использовать PyTorch для написания нейронной сети и обучения модели на заданных данных. PyTorch также играет важную роль в развертывании методов глубокого обучения на GPU, сокращая время вывода за счет использования параллелизма.

Узнать больше о PyTorch можно здесь.

Попробуйте это для практического опыта:

  1. Скачать набор данных MNIST
  2. Напишите загрузчик данных для данных, а также оптимизатор
  3. Напишите пользовательскую полносвязную нейронную сеть
  4. Обучите нейронную сеть для набора данных MNIST
  5. Оцените модель в наборе данных проверки
  6. Сохраните модель.

Заключение

Я включил все библиотеки, которые использую в своей работе с данными. Дело не в том, что эти библиотеки единственные. Каждая упомянутая здесь библиотека имеет доступную альтернативу. Но в целом, я видел, что набор функций, предоставляемых этими семью библиотеками, является лучшим среди их конкурентов. Если вы считаете, что в этот список необходимо включить больше библиотек, дайте мне знать в комментариях.

Следуйте за нами на среднем, чтобы узнать больше такого контента.

Стань участником Medium, чтобы разблокировать и читать бесконечные истории на Medium.