
출처가 명시되어 있지 않은 모든 이미지의 지식재산권은 재단법인 네이버커넥트에 귀속됩니다.
이제 마지막! 근데 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의 데이터를 읽고, 저장할 수 있다.
'네이버 부스트캠프 AI Tech 4기 > Level 1' 카테고리의 다른 글
부스트캠프 AI Tech 4기 - [1주차] AI Math 3 + 회고 (1) | 2022.09.29 |
---|---|
부스트캠프 AI Tech 4기 - [1주차] AI Math 2 (1) | 2022.09.28 |
부스트캠프 AI Tech 4기 - [1주차] AI Math 1 (0) | 2022.09.28 |
부스트캠프 AI Tech 4기 - [1주차] Python 2 (0) | 2022.09.28 |
부스트캠프 AI Tech 4기 - [1주차] Python 1 (0) | 2022.09.28 |