np.random.permutation() Generally speaking, it is a random permutation function, which is to The input data is randomly arranged. The official document states that this function can only randomly arrange one-dimensional data, and for multi-dimensional data, it can only randomly arrange the data in the first dimension.
In short: the function of np.random.permutation function is to generate a scrambled random list according to the given list
When processing the data When setting up a data set, you can usually use this function to shuffle the internal order of the data set and shuffle the label sequence in the same order.
import numpy as np data = np.array([1,2,3,4,5,6,7]) a = np.random.permutation(data) b = np.random.permutation([5,0,9,0,1,1,1]) print(a) print( "data:", data ) print(b)
label = np.array([1,2,3,4,5,6,7]) a = np.random.permutation(np.arange(len(label))) print("Label[a] :" ,label[a] )
##Supplement: Generally it can only be used for N-dimensional arrays and can only convert integer scalar arrays to scalar indexes
why?label1[a1] label1 is a list, a1 is a random arrangement of list subscripts but! The list structure does not have a scalar index label1[a1] error
label1=[1,2,3,4,5,6,7] print(len(label1)) a1 = np.random.permutation(np.arange(len(label1)))#有结果 print(a1) print("Label1[a1] :" ,label1[a1] )#这列表结构没有标量索引 所以会报错
from sklearn import svm from sklearn import datasets #sklearn 的数据集 iris = datasets.load_iris() iris_x = iris.data iris_y = iris.target indices = np.random.permutation(len(iris_x)) #此时 打乱的是数组的下标的排序 print(indices) print(indices[:-10])#到倒数第10个为止 print(indices[-10:])#最后10个 # print(type(iris_x)) <class 'numpy.ndarray'> #9:1分类 #iris_x_train = iris_x[indices[:-10]]#使用的数组打乱后的下标 #iris_y_train = iris_y[indices[:-10]] #iris_x_test= iris_x[indices[-10:]] #iris_y_test= iris_y[indices[-10:]]
The above is the detailed content of How to use the np.random.permutation function in python. For more information, please follow other related articles on the PHP Chinese website!