Home  >  Article  >  Backend Development  >  How to use the np.random.permutation function in python

How to use the np.random.permutation function in python

PHPz
PHPzforward
2023-05-17 13:43:061744browse

    1: Function introduction

    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.

    2: Example

    2.1 Directly process array or list numbers

    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)

    How to use the np.random.permutation function in python

    2.2 Indirect processing: do not change the original data (for arrays Index processing)

    label = np.array([1,2,3,4,5,6,7])
    a = np.random.permutation(np.arange(len(label)))
    print("Label[a] :" ,label[a] )

    How to use the np.random.permutation function in python

    ##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] )#这列表结构没有标量索引 所以会报错

    How to use the np.random.permutation function in python

    2.3 Example: random shuffling of iris flowers in iris data (can be used directly)

    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))   
    
    #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 array subscript is the redistribution of scalar index: The subscript starts from 0

    How to use the np.random.permutation function in python

    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!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete