Я имею дело с векторами одного горячо закодированных данных, и я кодирую случайное блуждание, где единственным шагом является случайное изменение одного из охенкодированных измерений, выбранных также случайным образом.
Вот код:
MASK = random.choice(MASKS) #picks one of the ohencoded features (its mask)
SUB = X[MASK]
np.random.shuffle(SUB) #changes the ohencoded dimension by shuffling the 0s and single 1
X[MASK] = SUB #propagates back the new permutation
, где MASKS
- список всех масок, по одной на ohencoded функцию, X
- случайная позиция ходока.
Переходя к погоне, я ищу более чистый, более оптимизированный способ перестановки без необходимости копировать, переставлять и копировать в обратном направлении. Есть ли способ перестановки подмассива массива numpy на месте?