728x90
시각적으로 나타낼 수 있는 차원은 3차원까지이다.
4차원, 5차원....수많은 차원이 존재하는데 시각적으로 나타내지 못할 뿐이다.
우리가 사용하는 대부분의 프레임워크는 데이터의 표현방식이 Numpy로 되어 있다.
데이터의 방향은 텐서(Tensor)로 나타낸다.

0차원 텐서(Scalar)
방향성이 없이 하나의 숫자(데이터)를 담고 있다(=스칼라)
1차원 배열(1차원 텐서, 1D array)
ex. shape: (3,)과 같이 나타난다.
[10 20 30]
2차원 배열(2차원 텐서, 2D array)
ex. shape: (3, 3)과 같이 나타난다.
[[1 3 5] [4 5 6]]
3차원 배열(3차원 텐서, 3D array)
3차원 텐서를 사용하는 가장 대표적인 예는 이미지 표현.
4차원 배열(4차원 텐서, 4D array)
1, 2, 3 + Time
파이썬 코드로 확인해 보기
import math
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
-0차원 텐서(Scalar)
*배열 만들기
x = np.array(3)
print(x)
print(x.shape)
print(np.ndim(x))
>>
3
()
0
---> 값은 3이고 차원이 없으므로 모양이 없으며, 0차원이다.
1차원 배열(1차원 텐서, 1D array)
*배열(텐서) 두 개 만들어 보자
a = np.array([1,2,3,4])
b = np.array([5,6,7,8])
연산해 보자.
*연산하기(덧셈)
c = a + b
print(c)
print(c.shape)
print(np.ndim(c))
>>
[ 6 8 10 12]
(4,)
1
*연산하기(곱셈)
c = a * b
print(c)
print(c.shape)
print(np.ndim(c))
>>
[ 5 12 21 32]
(4,)
1
*연산하기(스칼라와 벡터의 곱)
- 일괄적용할 때 쓰인다.
**배열 만들기
a = np.array(10) #스칼라
b = np.array([1,2,3]) #1차원 텐서
c = a * b
print(c)
>> [10 20 30]
2차원 배열(2차원 텐서, 2D array)
전치 행렬로 만들어 보자.(행과 열을 바꾼 배열의 형태)
*배열 만들기
A = np.array([[1,3,4], [4,5,6]])
print('A\n', A)
print('A.shape\n', A.shape)
print('--------------------')
>>
A
[[1 3 4]
[4 5 6]]
A.shape
(2, 3)
--------------------
A = np.array([[1,3,4], [4,5,6]])
print('A\n', A)
print('A.shape\n', A.shape)
print('--------------------')
A_ = A.T
print('A_\n', A_)
print('A_.shape\n', A_.shape)
print('--------------------')
>>
A_
[[1 4]
[3 5]
[4 6]]
A_.shape
(3, 2)
--------------------
3차원 배열(3차원 텐서, 3D array)
Keras를 이용해 MNIST 데이터를 다운받는다.
from keras.datasets import mnist
mnist.load_data()
---> 변수에 저장한다. (학습용 데이터, 학습용 라벨), (테스트용 데이터, 데스트용 라벨)
(train_images,train_labels), (test_images, test_labels) = mnist.load_data()
*차원 확인하기
print(train_images.ndim)
>> 3
*학습용 데이터 모양 확인하기
print(train_images.shape)
>> (60000, 28, 28)
*학습용 데이터 타입 확인하기
print(train_images.dtype)
>> uint8
---> 음의 정수가 아닌 양의 정수 2^8=256개
*첫 번째 장 확인해 보기. color map 사용
temp_image = train_images[0]
plt.imshow(temp_image,cmap='gray')
>>

*첫 번째 장 라벨 확인하기
train_labels[0]
>> 5
*세 번째 장 라벨 확인하기
train_labels[3]
>> 1
728x90
'MS AI School' 카테고리의 다른 글
| DAY 27 - 딥러닝 프레임워크 Keras (0) | 2022.11.29 |
|---|---|
| Day 26 - 신경망 구조(퍼셉트론, 논리회로, 활성화 함수) (0) | 2022.11.29 |
| DAY 24 - 신경망 기초 수학 (0) | 2022.11.26 |
| DAY 23 - 딥러닝 이론 (0) | 2022.11.26 |
| DAY 22 - 머신러닝 비지도 학습: 클러스터링(Clustering) (0) | 2022.11.23 |