- 이미지 하나는 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. 예측에 실패한 데이터 확인
'배우기 > 복습노트[Python과 분석]' 카테고리의 다른 글
[복습] Python | 분석 | 부스팅 이론(1) + 하루끝(20240206) (0) | 2024.02.12 |
---|---|
[복습] Python | 분석 | 이미지 인식 (2) (0) | 2024.02.12 |
[복습] Python | 분석 | 교차검증(CV, Cross Validation) (0) | 2024.02.11 |
[복습] Python | 분석 | knn(거리기반 모델) (0) | 2024.02.11 |
[복습] Python | 분석 | 차원축소(PCA, MDS) (2) (0) | 2024.02.10 |