패턴인식 특론
청주대학교 대학원 전자공학과 한철수
제1장 시작하며
목차
2
• 툴 소개
• NumPy
• Matplotlib
• 퀵 투어
툴 소개
3
• 아나콘다의 주요 툴
‒ Anaconda Navigator (anaconda3)
‒ Anaconda Prompt (anaconda3)
‒ Jupyter Notebook (anaconda3)
‒ Spyder (anaconda3)
Anaconda Navigator (anaconda3)
4
• 환경(Environment)을 추가할 수 있음.
‒ 아나콘다에는 다양한 프로그램이 포함되어 있는데, 각각의 환경마다 포함되는 프로그램의 종류와 버전을 다르게 설정할 수 있음.
Anaconda Prompt (anaconda3)
5
• 아나콘다 환경(Environment)의 명령 프롬프트
Jupyter Notebook (anaconda3)
6
• 작성한 코드와 결과를 보기 쉽게 정리할 수 있음.
Spyder (anaconda3)
7
• 통합 개발 환경(IDE)
NumPy
8
• 수치 계산 전반에 사용하는 파이썬 라이브러리임.
• 데이터를 생성하고 가공하는데 사용함.
• NumPy 임포트
import numpy as np
지정한 크기의 배열 생성 (1/2)
9
• (방법 1) 형태와 요소의 데이터 타입을 지정하고 모든 요소에 값을 넣어 초기화
‒ numpy.zeros(shape, dtype=None)
‒ numpy.ones(shape,dtype=None)
지정한 크기의 배열 생성 (2/2)
10
• (방법 2) 배열 요소를 지정해 생성
‒ numpy.array(object, dtype=None, copy=True, order=None, subok=False, ndmin=0)
요소로 접근
11
• numpy.ndarray 요소에는 []를 사용해 접근할 수 있음.
전치 행렬 구하기
12
• numpy.ndarray.T를 사용해 전치 행렬을 구할 수 있음.
형태 변경
13
• numpy.ndarray.reshape()을 사용해 형태를 변경할 수 있음.
배열 연결
14
• numpy.r_[]을 사용해 0차원 결합
• numpy.c_[]을 사용해 1차원 결합
• numpy.concatenate()를 사용해 2차원 이상 결합
사칙 연산 (1/2)
15
• 형태가 같은 numpy.ndarray끼리는 사칙 연산을 할 수 있음.
• 요소마다 사칙 연산을 함.
• 행렬 곱은 numpy.dot(A, B) 또는 A.dot(B)로 해야 함.
사칙 연산 (2/2)
16
• 형태가 일치하지 않아도 한쪽 차원의 길이가 0 또는 1이면 같 은 값으로 크기를 확장한 후 사칙 연산을 함.
Matplotlib
17
• 그래프를 그리기 위해 사용하는 파이썬 라이브러리임.
• 결과를 그래프로 표시할 때 사용함.
퀵 투어
18
• 머신 러닝의 대표 과제인 분류, 회귀, 클러스터링을 체험해 봅 시다.
• 분류(classification)
‒ 미지의 데이터에서 분류(클래스, 레이블)를 예측함.
‒ 학습 데이터에서 분류 규칙을 배워 미지의 데이터에서도 분류할 수 있 게 하는 것이 목표임.
• 회귀(regression)
‒ 미지의 데이터에서 수치를 예측함.
‒ 학습 데이터의 규칙을 배워 미지의 데이터에도 대응할 수 있는 수치를 예측할 수 있게 하는 것이 목표임.
• 클러스터링(clustering)
‒ 데이터의 성질에 맞게 데이터 클러스터를 만드는 기술임.
데이터
19
• 원본 데이터
‒ 2차 함수(y=x2) 데이터를 생성함.
‒ y 값이 노이즈를 갖도록 함.
• 분류 문제
‒ 데이터를 클래스 2개로 나눔(원점에서 가까운 것과 먼 것).
‒ 학습용 데이터와 테스트 데이터를 분리함.
• 회귀 문제
‒ 학습용 데이터와 테스트 데이터를 분리함.
• 클러스터링
‒ 원본 데이터를 그대로 사용함.
데이터 준비
20
분류 문제 (1/2)
21
• 준비한 데이터를 클래스 2개(원점에서 가까운 것과 먼 것)로 나누고 학습 데이터와 테스트 데이터를 분할함.
분류 문제 (2/2)
22
• 가까운 것과 먼 것을 학습 데이터에서 학습하고, 테스트 데이 터로 분류기 성능을 살펴 봄.
• 정답률과 혼동행렬
회귀 문제
23
• 1차원(직선), 2차원, 9차원 다항식으로 회귀시킴.
클러스터링
24
• 데이터만으로 클러스터를 작성함.
질문
25