loading...

Rabu, 12 September 2018

Pengacakan Dataset



Penulis pernah ditugaskan untuk membuat dataset training agar diacak, yang diacak adalah susunan baris saja, seperti berikut




data sebelum diacak
 [[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]
 [13 14 15]
 [16 17 18]
 [19 20 21]
 [22 23 24]
 [25 26 27]
 [28 29 30]] 

 diacak 

[[ 16.  17.  18.]
 [ 10.  11.  12.]
 [ 19.  20.  21.]
 [  7.   8.   9.]
 [ 13.  14.  15.]
 [ 28.  29.  30.]
 [  4.   5.   6.]
 [ 22.  23.  24.]
 [ 25.  26.  27.]
 [  1.   2.   3.]]

Kebetulan code yang dibuat sedari awal adalan python, berikut code lengkapnya

import numpy as np


def acakdata(data,no_seed=None):
    np.random.seed(seed=no_seed) #atur seed
    #Sort array by nth column in Numpy 
    #https://gist.github.com/stevenvo/e3dad127598842459b68
    s1 = np.zeros((len(data),1)) #membuat dummy
    s2 = np.round(np.random.uniform(1,len(data),len(data)),0)
    s1[:,0] = s2
    data2 = np.hstack((data,s1)) #tambahkan pada baris terakhir
    data2 = data2[data2[:,data2.shape[1]-1].argsort()] #urutkan berdasarkan baris terakhir
    
    return data2[:,0:data2.shape[1]-1]
    
data = np.arange(1,31,1)
data = np.reshape(data,(10,3))

print('\ndata sebelum diacak\n',data,'\n\n diacak \n')
print(acakdata(data,no_seed=None))

Dikarenakan cukup berpengaruh terhadap proses pelatihan


Tidak ada komentar: