для чего нужна библиотека numpy

Python и DataScience: изучаем возможности универсальной библиотеки Numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

От переводчика: это перевод материала Ракшита Васудева, давно и плотно изучающего DataScience и применение в ней языка Python. Автор рассказывает о мощной библиотеке Numpy, который позволяет реализовать многие возможности машинного обучения и работы с большими данными.

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

Skillbox рекомендует: Практический курс «Python-разработчик с нуля».
Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».

Импорт библиотеки

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

Теперь создадим массив python и массив np.

Большой разницы при выводе нет.

Хорошо, почему в таком случае лучше использовать массив numpy вместо обычного? Ответ — потому что np позволит нам быстрее производить вычисления и модифицировать общую архитектуру приложения.

np.arange()

([start],stop,[step]) упорядочивает цифры. Вот что это означает для машины.

Формируем np-список, начиная с 0 до 10, но не включаем 10, плюс увеличиваем цифры на 2 каждый раз.

Таким образом, у нас получается вот что:
array([0, 2, 4, 6, 8])

Важно помнить, что последняя цифра не включается в список.

Этот массив можно также назвать матрицей или вектором. Поэтому не переживайте, когда я говорю, например: «Форма матрицы — 2*3». Все это означает, что наш массив в итоге будет выглядеть примерно так:

Теперь давайте поговорим о таком параметре, как shape для массива np по умолчанию. Shape здесь — атрибут. Пример его использования — ниже.

Это матрица из чисел, где в ряду всего 9 элементов. В принципе, идеальной является матрица 1*9, не так ли?

В принципе, да, и для этого reshape() вступает в игру. Это метод, который изменяет размеры оригинальной матрицы так, как хотелось бы нам.

Вот пример использования reshape() на практике.

Обратите внимание, что reshape возвращает многомерную матрицу. На это указывают две квадратных скобки в начале. [[1, 2, 3, 4, 5, 6, 7, 8, 9]] является потенциально многомерной матрицей в отличие от [1, 2, 3, 4, 5, 6, 7, 8, 9].

Если взять параметр shape для B, то им будет (3,3):

Перейдем к np.zeros()

Что прописано в этом коде?

Именно: здесь задана матрица формата 3*4, заполненная нулями. Вот вывод:

np.zeros((n,m)) возвращает матрицу формата n*m, заполненную нулями. Все просто.

А что делает np.eye()?

Возвращает нам единичную матрицу с определенными характеристиками.

Как умножить две матрицы?

Нет проблем: для этого используется np.dot(), Эта функция — скалярное произведение, если в нее передали вектора и произведение матриц (самое обыкновенное).

Пример: A = (2,3) & B = (3,2). Здесь число столбцов в А — 3. Число строк в В — 3. Поскольку характеристики совпадают, умножение возможно.

Мы подготовили матрицы к умножению. Далее — действуем.

А теперь давайте добавим отдельные элементы в матрицу

np.sum() добавляет элементы в матрицу.

Однако у нас есть два варианта.

1. Складываем по строкам

6 — сумма первой строки (1, 2, 3).
15 — второй (4, 5, 6).
24 — третьей (7, 8, 9).

2. Складываем по столбцам

12 — сумма по первому столбцу (1, 4, 7).
15 — по второму (2, 5, 7).
18 — по третьему (3, 6, 9).

Ниже — видео, созданное автором, где все, что описано выше, объясняется еще раз, более наглядно.

Источник

NumPy, часть 1: начало работы

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

Установка NumPy

На Windows на том же сайте есть exe установщики. Или, если возникают проблемы, рекомендую ещё хороший сборник библиотек http://www.lfd.uci.edu/

Начинаем работу

Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.

Наиболее важные атрибуты объектов ndarray:

Создание массивов

Функция array() трансформирует вложенные последовательности в многомерные массивы. Тип элементов массива зависит от типа элементов исходной последовательности (но можно и переопределить его в момент создания).

Можно также переопределить тип в момент создания:

Функция array() не единственная функция для создания массивов. Обычно элементы массива вначале неизвестны, а массив, в котором они будут храниться, уже нужен. Поэтому имеется несколько функций для того, чтобы создавать массивы с каким-то исходным содержимым (по умолчанию тип создаваемого массива — float64).

Функция zeros() создает массив из нулей, а функция ones() — массив из единиц. Обе функции принимают кортеж с размерами, и аргумент dtype:

Функция eye() создаёт единичную матрицу (двумерный массив)

Функция empty() создает массив без его заполнения. Исходное содержимое случайно и зависит от состояния памяти на момент создания массива (то есть от того мусора, что в ней хранится):

Для создания последовательностей чисел, в NumPy имеется функция arange(), аналогичная встроенной в Python range(), только вместо списков она возвращает массивы, и принимает не только целые значения:

Вообще, при использовании arange() с аргументами типа float, сложно быть уверенным в том, сколько элементов будет получено (из-за ограничения точности чисел с плавающей запятой). Поэтому, в таких случаях обычно лучше использовать функцию linspace(), которая вместо шага в качестве одного из аргументов принимает число, равное количеству нужных элементов:

fromfunction(): применяет функцию ко всем комбинациям индексов

Печать массивов

Если массив слишком большой, чтобы его печатать, NumPy автоматически скрывает центральную часть массива и выводит только его уголки.

Если вам действительно нужно увидеть весь массив, используйте функцию numpy.set_printoptions:

И вообще, с помощью этой функции можно настроить печать массивов «под себя». Функция numpy.set_printoptions принимает несколько аргументов:

precision : количество отображаемых цифр после запятой (по умолчанию 8).

threshold : количество элементов в массиве, вызывающее обрезание элементов (по умолчанию 1000).

edgeitems : количество элементов в начале и в конце каждой размерности массива (по умолчанию 3).

linewidth : количество символов в строке, после которых осуществляется перенос (по умолчанию 75).

suppress : если True, не печатает маленькие значения в scientific notation (по умолчанию False).

nanstr : строковое представление NaN (по умолчанию ‘nan’).

infstr : строковое представление inf (по умолчанию ‘inf’).

formatter : позволяет более тонко управлять печатью массивов. Здесь я его рассматривать не буду, можете почитать здесь (на английском).

И вообще, пользуйтесь официальной документацией по numpy, а в этом пособии я постараюсь описать всё необходимое. В следующей части мы рассмотрим базовые операции над массивами.

Источник

Numpy и многопроцессорность

Сейчас уже многие используют библиотеку numpy в своих python-программах, поскольку она заметно ускоряет работу с данными и выполнение математических операций. Однако во многих случаях numpy работает в разы медленнее, чем она может… потому что использует только один процессор, хотя могла бы использовать все, что у вас есть.

Дело в том, что для выполнения многих операций numpy вызывает функции из библиотеки линейной алгебры. Вот в ней-то обычно и кроется проблема. К счастью, все довольно легко исправимо.

Итак, возможно три ситуации:

После чего, если работаете в Linux, то запустите top, а если вы работаете в Windows, зайдите на вкладку в “Быстродействие” в диспетчере задач (вызывается по Ctrl+Shift+Esc)… Если top показывает загруженность на уровне 100%, а индикатор “Загрузка ЦП” на вкладке “Быстродействие”, наоборот, показывает значение многократно ниже 100%, значит вычислениями занято лишь одно ядро — и эта статья для вас. Те, у кого задействованы все процессоры, могут радоваться — у них все в порядке — и дальше можно не читать.

Решение для Windows

Теоретически, можно, конечно, найти исходники библиотек, перекомпилировать их и пересобрать numpy. Я даже слышал, что кто-то писал, что он видел людей, которые говорили, что им это удалось… В общем, самый простой способ — это установить научный дистрибутив Python, например, Anaconda или Canopy. В дистрибутив входит не только python и numpy, но и целая куча полезных библиотек для расчетов и визуализации.

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

Решение для Linux

На самом деле вы также можете установить готовый дистрибутив Anaconda, Canopy или что-то другое сразу со всеми библиотеками. Но если предпочитаете собирать своими руками, то читайте дальше — там есть все рецепты.

Проверка библиотек

Как вы помните, возможны два варианта:

В более ранних версиях numpy библиотеки multiarray.so нет, зато есть _dotblas.so:

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

Если в листинге вы не видите libblas.so, значит ваша numpy использует свою внутреннюю библиотеку. Если видите, значит у вас стоит ATLAS или BLAS.

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

Установка OpenBLAS

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

Прежде всего вам потребуется компилятор Фортрана, поскольку OpenBLAS не совместим со стандартным компилятором g77.

Загрузите OpenBLAS с github’а (предварительно вернувшись в подходящий для установки каталог):

Теперь зайдите в каталог и запустите сборку:

Когда компиляция и сборка успешно завершатся, установите библиотеку.

По умолчанию, библиотека будет установлена в /opt/OpenBLAS. Если вы хотите установить ее в другое место, запустите make install с ключом PREFIX:

Переназначение библиотек

Если ранее вы выяснили, что у вас уже установлена какая-то библиотека линейной алгебры, то вам достаточно запустить команду переназначения библиотек:

После этого OpenBLAS по умолчанию станет библиотекой линейной алегбры не только для numpy, а вообще для всех ваших программ и библиотек.

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

Собираем правильный numpy

Если у вас numpy работал на встроенной библиотеке, то вам придется его пересобрать, чтобы он подхватил только что установленный OpenBLAS.

Сначала избавьтесь от дефектной библиотеки:

Если вы ранее выбрали нестандартное расположение для OpenBLAS, то измените пути в файле. А теперь установите numpy заново:

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

Источник

Изучение NumPy с визуальными примерами для начинающих

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

Содержание

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

Создание массивов NumPy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Нередки случаи, когда необходимо, чтобы NumPy инициализировал значения массива.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

После создания массивов можно манипулировать ими довольно любопытными способами.

Арифметические операции над массивами NumPy

Создадим два массива NumPy и продемонстрируем выгоду их использования.

Массивы будут называться data и ones :

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

При сложении массивов складываются значения каждого ряда. Это сделать очень просто, достаточно написать data + ones :

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

Помимо сложения, здесь также можно выполнить следующие простые арифметические операции:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Как можно увидеть в примере выше, NumPy сам понял, что умножить на указанное число нужно каждый элемент массива. Данный концепт называется трансляцией, или broadcating. Трансляция бывает весьма полезна.

Индексация массива NumPy

Массив NumPy можно разделить на части и присвоить им индексы. Принцип работы похож на то, как это происходит со списками Python.

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Агрегирование в NumPy

Дополнительным преимуществом NumPy является наличие в нем функций агрегирования:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Это лишь небольшая часть довольно обширного списка функций агрегирования в NumPy.

Использование нескольких размерностей NumPy

Создание матриц NumPy на примерах

Созданные в следующей форме списки из списков Python можно передать NumPy. Он создаст матрицу, которая будет представлять данные списки:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Достаточно только добавить им кортеж, в котором будут указаны размерности матрицы, которую мы создаем.

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Арифметические операции над матрицами NumPy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Арифметические операции над матрицами разных размеров возможны в том случае, если размерность одной из матриц равно одному. Это значит, что в матрице только один столбец или один ряд. В таком случае для выполнения операции NumPy будет использовать правила трансляции:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

dot() Скалярное произведение NumPy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Индексация матрицы NumPy

Операции индексации и деления незаменимы, когда дело доходит до манипуляции с матрицами:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Агрегирование матриц NumPy

Агрегирование матриц происходит точно так же, как агрегирование векторов:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Транспонирование и изменение формы матриц в numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Еще больше размерностей NumPy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

В большинстве случаев для указания новой размерности требуется просто добавить запятую к параметрам функции NumPy:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

На заметку: Стоит иметь в виду, что при выводе 3-мерного массива NumPy результат, представленный в виде текста, выглядит иначе, нежели показано в примере выше. Порядок вывода n-мерного массива NumPy следующий — последняя ось зацикливается быстрее всего, а первая медленнее всего. Это значит, что вывод np.ones((4,3,2)) будет иметь вид:

Примеры работы с NumPy

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

Математические формулы NumPy

Необходимость внедрения математических формул, которые будут работать с матрицами и векторами, является главной причиной использования NumPy. Именно поэтому NumPy пользуется большой популярностью среди представителей науки. В качестве примера рассмотрим формулу среднеквадратичной ошибки, которая является центральной для контролируемых моделей машинного обучения, что решают проблемы регрессии:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Реализовать данную формулу в NumPy довольно легко:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Главное достоинство NumPy в том, что его не заботит, если predictions и labels содержат одно или тысячи значение (до тех пор, пока они оба одного размера). Рассмотрим пример, последовательно изучив четыре операции в следующей строке кода:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

У обоих векторов predictions и labels по три значения. Это значит, что в данном случае n равно трем. После выполнения указанного выше вычитания мы получим значения, которые будут выглядеть следующим образом:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Затем мы можем возвести значения вектора в квадрат:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Теперь мы вычисляем эти значения:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Таким образом мы получаем значение ошибки некого прогноза и score за качество модели.

Представление данных NumPy

Задумайтесь о всех тех типах данных, которыми вам понадобится оперировать, создавая различные модели работы (электронные таблицы, изображения, аудио и так далее). Очень многие типы могут быть представлены как n-мерные массивы:

Таблицы NumPy — примеры использования таблиц

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Аудио и временные ряды в NumPy

Фрагмент аудио файла выглядит следующим образом:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

Обработка изображений в NumPy

Изображение является матрицей пикселей по размеру (высота х ширина).

Вот как выглядит фрагмент изображения:

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Если изображение цветное, каждый пиксель представлен тремя числами. Здесь за основу берется цветовая модель RGB — красный (R), зеленый (G) и синий (B).

В данном случае нам понадобится третья размерность, так как каждая клетка вмещает только одно число. Таким образом, цветная картинка будет представлена массивом ndarray с размерностями: (высота х ширина х 3).

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Обработка текста в NumPy на примерах

Когда дело доходит до текста, подход несколько меняется. Цифровое представление текста предполагает создание некого python словаря, то есть инвентаря всех уникальных слов, которые бы распознавались моделью, а также векторно (embedding step). Попробуем представить в цифровой форме цитату из стихотворения арабского поэта Антара ибн Шаддада, переведенную на английский язык:

“Have the bards who preceded me left any theme unsung?”

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

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Затем в данной таблице словаря вместо каждого слова мы ставим его id :

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

Однако данные id все еще не обладают достаточным количеством информации о модели как таковой. Поэтому перед передачей последовательности слов в модель токены/слова должны быть заменены их векторными представлениями. В данном случае используется 50-мерное векторное представление Word2vec.

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

(На заметку: Поэма, строчку из которой мы использовали в примере, увековечила своего автора в веках. Будучи незаконнорожденным сыном главы племени от рабыни, Антара ибн Шаддан мастерски владел языком поэзии. Вокруг исторической фигуры поэта сложились мифы и легенды, а его стихи стали частью классической арабской литературы).

для чего нужна библиотека numpy. Смотреть фото для чего нужна библиотека numpy. Смотреть картинку для чего нужна библиотека numpy. Картинка про для чего нужна библиотека numpy. Фото для чего нужна библиотека numpy

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

E-mail: vasile.buldumac@ati.utm.md

Образование
Universitatea Tehnică a Moldovei (utm.md)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *