출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다.

 

이제 마지막! 근데 AI Math는...?

[ Python Data Handling ]

Comma Separate Values

  • 필드를 comma(,)로 구분한 텍스트 파일
  • 파이썬에서는 간단히 csv 파일을 처리하기 위해 csv 객체를 제공하지만, 안쓴다. (pandas 최고~!)

Web(HTML)

  • HTML은 tag를 사용한 일정한 형식이 존재하여 정규식으로 추출이 용이하다.

정규식

  • 문자 클래스 [ ]: [와 ] 사이의 문자들과 매치라는 의미
    • ex) [abc] -> abc 중 하나가 있다!
  • "-"를 사용하여 범위를 지정할 수 있음
    • ex) [a-zA-Z] -> 알파벳 전체
  • 메타문자: 정규식 표현을 위해 원래 의미가 아닌, 다른 용도로 사용되는 문자
    • ".", "$", "*", "+", "?", "[", "]", "", ":", "(", ")"
    • 자세한 문법은 필요할 때 검색해서 찾아보자! (양이 너무 방대함)
    • http://www.regexr.com/ 에서 연습해보자!

eXtensible Markup Language (XML)

  • TAG와 TAG 사이에 값이 표시되고, 구조적인 정보를 표현할 수 있다.
  • 이기종간에 정보를 주고받기에 매우 유용한 저장방식이다
  • 보통 beautifulsoup으로 parsing한다.

JavaScript Object Notation(JSON)

  • 웹 언어인 Java Script의 데이터 객체 표현 방식
  • 데이터 용량이 적고, code로의 전환이 쉽다.
  • python의 dict type과 유사하며 상호 호환 가능하다.

[ Numpy ]

Numpy

  • Numerical Python
  • 고성능 과학 계산용 패키지
  • 일반 List에 비해 바르고, 메모리 효율적임
  • 반복문 없이 데이터 배열에 대한 처리를 지원함
  • 선형대수와 관련된 다양한 기능을 제공함

array creation

  • numpy는 np.array함수를 이용하여 배열을 생성한다.
  • 이때, type이 하나로 정해지게 된다. (dynamic typing not supported)
  • ```python
    test_array = np.array([1, 2, 3, 4], float)
  • shape: numpy array의 dimension 구성을 return (dtype = tuple)
  • dtype: numpy array의 데이터 type을 return
  • nbytes: ndarray object의 메모리 크기를 return

Handling Shape

  • reshape: Array의 shape의 크기를 변경한다. element의 갯수는 동일하다.
    • -1을 입력하면 size와 나머지 parameter를 기반으로 자동으로 수를 정해준다.
  • flatten: 다차원 array를 1차원 array로 변환

Indexing & Slicing

  • list와 달리 이차원 배열에서 [0, 0] 표기법을 제공한다.
  • matrix a가 있을때, a[:, 2:]는 아래와 같다.

Creation Function

  • arange: array의 범위를 지정하여, ndarray를 생성
  • zeros, ones, empty: 각각 0, 1, 빈값으로 가득찬 ndarray 생성
  • zeros_like, ones_like, empty_like: input ndarray의 크기만큼 0, 1, 빈값의 array를 생성
  • identity: identity matrix 생성
  • eye: 대각선이 1인 행렬 생성, k값의 시작 index 변경 가능
  • diag: 대각 행렬의 값 추출. eye와 마찬가지로, k값의 시작 index 변경 가능
  • random.uniform, random.normal: 균등, 정규 분포를 따르는 sampling으로 array 생성

Operation Function

  • sum: element들 간의 합을 구함. 이때, axis를 설정하여 더하는 축을 설정할 수 있음.
  • mean & std: element들 간의 평균, 표준편차 return
  • 이 외에도 다양한 수학 연산자 제공
  • vstack, hstack: 위아래로, 양옆으로 concat

Array Operations

  • 기본적으로 array 간의 사칙연산 지원
  • Element-wise operations: array간 shape이 같을 때 일어나는 연산
  • dot: matrix 간의 dot product
  • transpose: 전치행렬 return
  • size가 다른 matrix들 사이에서 연산을 시도해도 broadcasting이 일어나 정상적으로 수행되니 주의해야 한다.

Comparisons

  • all & any: 데이터의 전부 또는 일부가 조건에 만족하는지 여부를 return
  • where: 조건을 만족하는 모든 index return
  • argmax & argmin: array 내 최대값 또는 최소값의 index 반환 (axis를 기반으로 함)

Boolean & Fancy Index

  • 특정 조건에 따른 값을 배열 형태로 추출
  • numpy는 array를 index value로 사용해서 값 추출
  • matrix 형태도 가능하다.
  •  
  • a = np.array([[1, 4], [9, 16]], float) b = np.array([0, 0, 1, 1, 0], int) c = np.array([0, 1, 1, 1, 0], int) a[b, c]```

Numpy Data I/O

  • text type의 데이터를 읽고, 저장할 수 있다.
복사했습니다!