Блокнот к лекции - 00:00 NumPy - это высокооптимизированная библиотека для векторных и матричных вычислений. 06:52 Пример использования NumPy для решения задачи, где нужно воспроизвести случайный эксперимент. • NumPy может быть использован для ускорения работы с векторами и матрицами в различных библиотеках, таких как пандос и sklearn. 12:07 В Python создание массива занимает миллисекунды, в то время как в NumPy это занимает микросекунды. При работе с большими векторами и матрицами рекомендуется использовать NumPy, так как прирост скорости относительно Python будет значительным. 13:07 В NumPy есть два способа получения справки о функциях и методах: через вопросительный знак перед функцией или через встроенный метод help(). • В обоих случаях можно получить информацию о том, что принимает функция, что делает, какой тип возвращает и т.д. 15:07 NumPy выигрывает в скорости работы благодаря тому, что он написан не на Python, а на C. • В NumPy хранится информация о типе данных, а не о каждом элементе, что позволяет экономить место в оперативной памяти и упрощает вычисления. 16:22 Различные способы создания и преобразования массивов в NumPy. • Создавать массивы можно с помощью метода reshape, передавая список списков или список чисел. • Для создания матриц можно использовать метод zeros, передавая количество строк и столбцов. 21:22 Генерация случайных чисел • В NumPy есть несколько функций для генерации случайных чисел, включая rand, randint, randrange, random, random_sample и uniform. Эти функции могут быть использованы для создания массивов с равномерным или нормальным распределением. 29:15 Воспроизводимость экспериментов • В NumPy есть функция seed, которая позволяет зафиксировать случайность и воспроизвести эксперименты. • Это может быть полезно для воспроизводимости экспериментов и обеспечения их повторяемости. 30:07 В NumPy есть модуль random, который можно использовать для создания случайных чисел. 33:07 Задача о вероятности совпадения дней рождения у 23 человек. • Для решения этой задачи используется метод Монте-Карло, который позволяет воспроизвести эксперимент и подсчитать вероятность. 39:00 Математические операции с векторами в NumPy, такие как сложение, вычитание, умножение, деление, возведение в степень и другие. • Упоминаются важные переменные NumPy, такие как nan (не число) и inf (бесконечность). 41:52 Операции с матрицами, когда их размеры не совпадают. • Два случая, когда разные размеры векторов могут работать: когда вектор совпадает с размерностью строки матрицы и когда вектор совпадает с размерностью столбца матрицы. 43:52 Операции с матрицами и векторами в NumPy. • Различные операции, такие как сложение, вычитание, умножение, деление, сумма, минимум, максимум, среднее, поиск минимального и максимального элементов по оси, а также выбор столбцов и строк. 50:37 Срезы позволяют выбирать элементы из матрицы или вектора, а индексы позволяют выбирать элементы по их положению в матрице или векторе. • В NumPy есть возможность случайного выбора элементов из вектора или матрицы. 54:37 Работа с матрицами и тензорами • Способы выбора столбцов и строк из матрицы, а также возможность получения размера каждой оси с помощью метода shape. 57:37 Операции с формами и размерами массивов в Python. • Если массив имеет размерность 2x2, то его можно привести к матрице 6x2 или 2x6. • Однако, если попытаться привести к матрице 5x2, то возникнет ошибка, так как количество элементов в массиве должно быть кратно количеству строк и столбцов. 01:03:22 Методы изменения формы и объединения массивов. • При изменении формы массива, шейп-метод просто складывает элементы подряд, а транспонирование матрицы меняет местами строки и столбцы. • Методы объединения массивов, такие как вертикальный стек и горизонтальный стек. 01:08:15 Важно правильно копировать массивы в Python, так как неправильное копирование может привести к неожиданным результатам. • Метод представления вью, который создает новый объект, но сохраняет ссылки на элементы внутри старого массива. • Как добиться создания нового массива, используя методы среза или копирования. 01:12:07 Различные функции и методы работы с матрицами и векторами в NumPy. • По умолчанию функция () возвращает координаты элементов, удовлетворяющих условию. • Если передать эти координаты в квадратные скобки, то можно получить элементы, соответствующие условию. 01:16:07 Два подхода к умножению матриц: с помощью функции () или с помощью функции ... • Для умножения матриц необходимо, чтобы оси столбцов левой матрицы совпадали с осями строк правой матрицы. 01:18:52 Разреженные матрицы, которые используются для представления данных, где много нулей и мало значений. • Функции, которые позволяют преобразовать плотную матрицу в разреженную. • Разреженные матрицы используются в задачах с текстами и в обучении с подкреплением.
Hide player controls
Hide resume playing