본문 바로가기

배우기/복습노트[Python과 분석]

[복습] Python | 분석 | 이미지 인식 (1) + 하루끝(20240205)

728x90
반응형

  - 이미지 하나는 2차원, 이미지 집합은 3차원

  - 이미지 집합을 이미지 형태 그대로 학습시키려면 3차원 학습이 가능해야 함 > 머신 러닝 불가

  - 머신러닝으로 학습 시키려면, 머신러닝용 reshape > 이미지를 모두 1차원으로 평탄화

  - (집합 기준) 3차원 학습이 가능한 신경망 모델을 적용해야 함

 

 

예제 - mnist 손글씨(숫자) 분류

 

1. 데이터 로딩

pip install tensorflow

pip install keras

 

 

 

층, 행, 열 순서로, train_x의 경우 6만개의 이미지 set이 28X28 픽셀 사이즈로 존재한다는 의미이다.

test_x의 경우 1만개의 이미지 set이 28X28 픽셀 사이즈로 존재한다.

 

train_x의 첫 번째 손글씨 값이 5라는 것을 확인할 수 있다. 

 

 

실제 RGB 추출된 값을 이미지로 변환

즉 RGB > 이미지 변환

 

 

 

 

 

 

2. 머신러닝 학습에 필요한 데이터셋으로 변환

 

손글씨 분석에서, 머신러닝 기법 중 가장 큰 효율을 보이는 머신러닝은 knn 이다.

RF는 변수의 의미가 있어야 하며, 내가 궁금한 데이터가 기존 데이터와 얼마나 유사한지를 토대로 O, X를 예측하는 방식인 knn을 주로 활용한다.

비슷한 = 거리를 통하여 측정

즉, 유사도를 거리로 계산하는 knn을 딥러닝을 사용하기 전에 많이 사용했다.

 

 

 

3. 스케일링

RGB 값 자체에는 음수가 없으므로 minmax scaling을 선택하자.

그런데 RGB는 0~255 값을 가지므로, 전체 데이터 set을 255로 나누면 된다.

 

 

4. 모델링

 

 

5. 예측에 실패한 데이터 확인

728x90
반응형