반응형

케라스, numpy 랜덤 기능으로 임시 자료 생성하기

 

글. 오상문 sualchi@daum.net

 

다음은 넘파이(Numpy)의 랜덤 자료 생성 기능을 이용하는 예제이다. 

 

import numpy as np

 

random.randint()는 정수 자료를 만들고, random.random()는 0에서 1.0 사이의 랜덤 값을 구해준다.

 

print(np.random.randint(10))

결과: 6

 

print(np.random.randint(10, size=5))

결과: [3 3 8 0 5]

 

print(np.random.randint(10, size=(5, 1)))

결과:

[[4]
[3]
[0]
[9]
[5]]

 

print(np.random.random())

결과:

0.11064315834837868

 

print(np.random.random(5))

결과:
[0.08358542 0.54229969 0.7215615  0.23087079 0.27658036]

 

print(np.random.random((10, 5)))

결과:
[[0.16260951 0.39378172 0.94269564 0.39988985 0.57346974]
[0.48043347 0.38658923 0.69883909 0.76057929 0.62536931]
[0.73843847 0.41528885 0.21539969 0.60473327 0.3883214 ]
[0.38466595 0.32369743 0.25991223 0.83507567 0.47425574]
[0.62150436 0.59913893 0.40920627 0.35850355 0.02839952]
[0.92319154 0.98531439 0.07832936 0.17578398 0.75128624]
[0.75977434 0.48678564 0.94426574 0.32604102 0.81061364]
[0.05483037 0.69937829 0.48115034 0.87142539 0.58292686]
[0.84997284 0.7739388  0.02168867 0.90750192 0.55477635]
[0.66227018 0.62238003 0.07037296 0.19938292 0.55484539]]

 

 

다음은 케라스에서 사용할 임시 자료를 만드는 예제이다.

 

참고로, 이렇게 자료는 무작위 랜덤 자료라서 신뢰할 수 없다. 모델이 동작하는지 확인하는 용도로 사용할 때 사용하면 좋다.

 

import numpy as np

 

# 요소 20r개인 리스트 1000개를 가진 2차원 리스트 생성 (학습용 샘플)
x_train = np.random.random((1000, 20))

 

# 0~9 값 요소를 한개만 있는 리스트를 1000개 가진 리스트 생성

data = np.random.randint(10, size=(1000, 1))

# 10개 분류(클래스)를 가진 원핫 인코딩 자료 1000 리스트 생성 (학습용 정답)

y_train = keras.utils.to_categorical(data, num_classes=10)
 

# 요소 20r개인 리스트 100개를 가진 2차원 리스트 생성 (검증용 샘플)
x_train = np.random.random((1000, 20))

 

# 0~9 값 요소를 한개만 있는 리스트를 100개 가진 리스트 생성

data = np.random.randint(10, size=(1000, 1))

# 10개 분류(클래스)를 가진 원핫 인코딩 자료 1000 리스트 생성 (검증용 정답)

y_train = keras.utils.to_categorical(data, num_classes=10)                                                

 

 

[참고] 정답을 생성할 때 다음처럼 한줄로 나타낼 수 있다.

 

y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)

 

<이상>

 

 

반응형

+ Recent posts