Deep Learning/Natural Language Processing

[python]Numpy

frances._.sb 2022. 2. 9. 15:03
728x90

파이썬이 머신러닝 분야에서 널리 활용되는 이유 : Numpy 등 과학 기술 계산에 편리한 라이브러리가 충실하기 때문

 

머신러닝 - scikit-learn, Tensorflow 

계산/시각화 - pandas, SciPy, matplotlib

벡터/행렬 계산에 특화 - numpy

프로그래밍 언어 - python

 

 

Example.

#난수로 지정한 크기의 이미지를 생성하는 함수 make_image()를 완성하시오.
#전달된 행렬의 일부분을 난수로 변경하는 함수 change_matrix()를 완성하시오.
#생성된 image1과 image2의 각 요소의 차이의 절댓값을 계산하여 image3에 대입하세요.

import numpy as np
#난수를 초기화 합니다.
np.random.seed(0)

#가로세로 크기를 전달하면 해당 크기의 이미지를 난수로 채워서 생성하는 함수입니다.
def make_image(m,n):
    #nxm 행렬의 각 성분을 0~5의 난수로 채우세요.
    image = np.random.randint(0,6,(m,n))
    
    return image

#전달된 행렬의 일부를 변경하는 함수입니다.
def change_little(matrix):
    #전달받은 행렬의 형태(크기)를 취득하여 shape에 대입하세요.
    shape = matrix.shape
    
    #행렬의 각 성분에 대해 변경 여부를 무작위로 결정한 다음
    #변경할 때는 0~5 사이의 정수로 임의 교체하세요.
    for i in range(shape[0]):
        for j in range(shape[1]):
            if np.random.randint(0,2) == 1:
                matrix[i][j] = np.random.randint(0,6,1)
                
    return matrix

#임의의 이미지를 만듭니다.
image1 = make_image(3,3)
print(image1)
print()

#임의의 변경사항을 적용합니다.
image2 = change_little(np.copy(image1))
print(image2)
print()

#image1 과 image2의 차이를 계산하여 image3에 대입하세요.
image3 = image2 - image1

#image3의 각 성분을 절댓값으로 한 행렬을 image3에 다시 대입하세요.
image3 = np.abs(image3)

#image3을 출력합니다.
print(image3)

[[4 5 0]
 [3 3 3]
 [1 3 5]]

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

[[0 0 0]
 [0 0 0]
 [1 2 0]]

 

728x90
반응형

'Deep Learning > Natural Language Processing' 카테고리의 다른 글

Document Classification (vector space model)  (0) 2022.03.25
[python] 3D 그래프  (0) 2022.02.10
[python] 데이터 시각화_matplotlib  (0) 2022.02.10
[python]Pandas  (0) 2022.02.09
[python]Class  (0) 2022.02.09