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 |