매일매일 IT
[Machine Learning] 이미지 내부 문자 인식하기 본문
- MNIST
- 머신러닝 연습에 자주 사용되는 손글씨 데이터.
- 학습 전용 6만 개, 테스트 전용 1만 개의 개인 손글씨 숫자 데이터
- http://yann.lecun.com/exdb/mnist/ 에서 GZ 형식으로 압축된 4개의 데이터 파일을 내려 받고 Gzip 압축을 해제하는 프로그램
- 변환 프로그램
- 이미지 데이터는 각 픽셀을 그레이스케일 256단계로 나타내며, 왼쪽 위부터 오른쪽 아래로 차례차례 픽셀이 나열된 형태다.
- 이 때, 0은 기본 배경(흰)색이고, 1 ~ 255가 실제 손글씨가 적힌 부분을 나타냄.
- 숫자가 클수록 짙은 부분을 나타낸다.
- 이에 바이너리 데이터를 분석하고, CSV 파일로 변환하는 프로그램이다.
- struct 모듈 : 파이썬으로 바이너리 처리
- struct.unpack() : 원하는 바이너리 수만큼 읽어들이고, 정수로 변환할 때 사용.
- 데이터는 리틀 엔디안으로 저장돼 있는데 struct 모듈로 리틀엔디안 데이터를 읽을 때는 ">" 기호 지정
- pgm 형식 파일 : 글자 파일로 이미지를 나타낼 수 있다.
- 이미지 데이터 학습
- 이미지 픽셀 데이터를 그대로 벡터로 넣는다
- 이미지 픽셀 데이터를 24x24(576) 의 벡터로 그대로 넣어 학습 시킨다.
- 1. CSV 파일에서 학습 데이터, 테스트 데이터 읽기
- 2. 학습 데이터를 사용해 이미지 픽셀 학습
- 3. 테스트 데이터 활용하여 예측
- 4. 예측 결과와 답을 비교해서 정답률 구하기
'Programming Language > python' 카테고리의 다른 글
[Machine Learning] Random Forest (0) | 2017.08.16 |
---|---|
[Machine Learning] SVM : Support Vector Machine (1) | 2017.08.16 |
[Machine Learning] 붓꽃의 품종 분류하기 (0) | 2017.08.09 |
Machine Learning Framework : scikit-learn (0) | 2017.08.09 |
파이썬에서 YAML 다루기 (0) | 2017.08.08 |
Comments