[AI] 7.혼자 공부하는 머신러닝 + 딥러닝 CHAPTER 07



  • Category : AI
  • Tag : AI


print("[01] 패션 MNIST 데이터 다운로드")
from tensorflow import keras
(train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data()

print("\n\n[02] 훈련 데이터 크기 확인\n", train_input.shape, train_target.shape)


print("\n\n[03] 테스트 세트 크기 확인\n", test_input.shape, test_target.shape)


print("\n\n[04] 데이터 이미지 확인")
import matplotlib.pyplot as plt
fig, axs = plt.subplots(1, 10, figsize=(10,10))
for i in range(10):
    axs[i].imshow(train_input[i], cmap='gray_r')
    axs[i].axis('off')
plt.show()


print("\n\n[05] 10개 샘플의 타겟값 리스트 출력\n", [train_target[i] for i in range(10)])


print("\n\n[06] 레이블당 샘플의 개수 확인")
import numpy as np
print(np.unique(train_target, return_counts=True))


print("\n\n[07] SGDClassifier를 위해 훈련데이터(2차원 배열)를 1차원 배열로 변경")
train_scaled = train_input / 255.0
train_scaled = train_scaled.reshape(-1, 28 * 28)
print("기존: (60000, 28, 28) (60000,),  변경 후:",train_scaled.shape)

print("\n\n[08] 교차검증으로 성능 확인")
from sklearn.model_selection import cross_validate
from sklearn.linear_model import SGDClassifier
sc = SGDClassifier(loss = 'log', max_iter = 5, random_state = 42)


print("\n\n[09]")
print("\n\n[10]")
print("\n\n[11]")
print("\n\n[12]")
print("\n\n[13]")
print("\n\n[14]")
print("\n\n[15]")
print("\n\n[16]")
[01] 패션 MNIST 데이터 다운로드
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz
32768/29515 [=================================] - 0s 0us/step
40960/29515 [=========================================] - 0s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz
26427392/26421880 [==============================] - 1s 0us/step
26435584/26421880 [==============================] - 1s 0us/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz
16384/5148 [===============================================================================================] - 0s 0s/step
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz
4423680/4422102 [==============================] - 0s 0us/step
4431872/4422102 [==============================] - 0s 0us/step


[02] 훈련 데이터 크기 확인
 (60000, 28, 28) (60000,)


[03] 테스트 세트 크기 확인
 (10000, 28, 28) (10000,)


[04] 데이터 이미지 확인

png

[05] 10개 샘플의 타겟값 리스트 출력
 [9, 0, 0, 3, 0, 2, 7, 2, 5, 5]


[06] 레이블당 샘플의 개수 확인
(array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=uint8), array([6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000],
      dtype=int64))


[07] SGDClassifier를 위해 훈련데이터(2차원 배열)를 1차원 배열로 변경
기존: (60000, 28, 28) (60000,),  변경 후: (60000, 784)


[08] 교차검증으로 성능 확인


[09]


[10]


[11]


[12]


[13]


[14]


[15]


[16]
for i in range(10):
    axs[i].imshow(train_input[i], cmap='gray_r')
    # axs[i].axis('off')
    plt.show()

Share this post