Лабораторная работа 3 Операции над массивами и создание структурированных массивов



бет3/10
Дата09.05.2022
өлшемі0,56 Mb.
#33776
түріЛабораторная работа
1   2   3   4   5   6   7   8   9   10
Байланысты:
лаб 3

Комбинированная индексация

Для реализации еще более сложных операций «прихотливую» индексацию можно использовать совместно с другими схемами индексации:

print(X)

[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

Можно применять совместно «прихотливые» и простые индексы:

X[2, [2, 0, 1]]


Out: array([10, 8, 9])

Можно также использовать совместно «прихотливые» индексы и срезы:

X[1:, [2, 0, 1]]
Out: array([[ 6, 4, 5],

[10, 8, 9]])

Все эти варианты индексации вместе обеспечивают набор чрезвычайно гибких операций по доступу к значениям массивов и их изменению.
Пример задачи: Выборка случайных точек

Частая сфера применения «прихотливой» индексации – выборка подмножеств строк из матрицы. Пусть у нас имеется матрица размером N на D, представляющая N точек в D измерениях, например, следующие точки, полученные из двумерного нормального распределения:



С помощью инструментов рисования графиков можно визуализировать эти точки в виде диаграммы рассеяния (рис. 1):





Рис. 1. Нормально распределенные точки


Воспользуемся «прихотливой» индексацией для выборки 20 случайных точек. Мы сделаем это с помощью выбора предварительно 20 случайных индексов без повторов и воспользуемся этими индексами для выбора части исходного массива:



Чтобы посмотреть, какие точки были выбраны, нарисуем поверх первой диаграммы большие круги в местах расположения выбранных точек (рис. 2).





Рис. 2. Случайно выбранные точки


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


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   10




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет