본문 바로가기

부스트캠프 AI Tech

(53)
Pandas Pandas Panel datas numpy와 통합하여 빠름 Series DataFrame loc, iloc, drop, reset_index, fill_value, lambda, map, apply, applymap, replace Built-in function describe, unique, sort_values, corr, cov, corrwith, pd.options.display Groupby split -> apply -> combine groupby, hierarchical index, unstack, reset_index, swaplevel, sort_index, sort_values, get_group, aggregation, transform, filter Pivot column에 l..
Numpy Numerical Python 일반 list에 비해 빠르고 효율적 python의 list는 mem address를 저장하지만, ndarray는 값을 직접 저장 list는 값의 변경이 용이하고 ndarray는 속도가 빠름 C++, 포트란 등과 통합 가능 import numpy as np 국룰 하나의 data type만 넣을 수 있음 (dynamic typing x) a = [1, 2, 3] b = [3, 2, 1] a[0] is b[-1] # True a = np.array(a) b = np.array(b) a[0] is b[-1] # False shape : array의 dimension 반환 (tuple) 1d : (col,), 2d : (row, col), 3d : (channel, row, col)..
Data handling CSV(comma separate value) import csv reader = csv.reader(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_ALL) Regular Expression 010-1234-5678 ^\d{3}\-\d{4}\-\d{4}$ # ^숫자3-숫자4-숫자4$ 소스 보기 , Ctrl + Shift + C 누르고 클릭 - html 상에서 위치 검색 beautifulsoup from bs4 import BeautifulSoup soup = BeautifulSoup(books_xml, "lxml") sop.find_all("author") JavaScript Object Notation(JSON) {"employee" : [ {"firstNa..
Exception/File/Log handling Exception try: except: else: finally: raise (예외 정보) # 강제로 Exception 발생 assert 예외 조건 # 특정 조건을 만족하지 않을 시 예외 발생 File os module, pathlib module File os module, pathlib module Pickle - object 자체를 저장(binary file) import pickle f = open("filename.pickle", "wb") pickle.dump(obj,f) # write f = open("filename.pickle", "rb") obj = pickle.load(f) # read Log import logging logging.debug() # 개발 시 기록 logging.i..
Module Module built-in module 같은 위치에 있는 .py 파일을 import해서 사용 Package module을 모아 놓은 하나의 프로그램 __init__.py 파일로 초기화 해야 함(3.3+부터는 필수 x) Namespace import a as b from a import b 상대 경로로 호출 가능 Virtual Environment virtualenv, conda 등
Object Oriented Programming Class - Instance snake_case : 함수/변수명 CamelCase : class명 class ClassName(object): def __init__ (self, name, age): self.name = name # self = 생성된 instance self.age = age Mangling Inheritance - Super class의 attr, method를 Sub class가 물려 받음 Polymorphism - 같은 이름의 method를 다르게 구현(overriding, overloading) Visibility(Encapsulation) - Class 간 간섭/정보공유 최소화 Property decorator First-class object variable, parame..
RNN RNN - 시 계열(time-series), sequence data 비독립적 데이터 (소리, 문자열, 주가 등) 독립동등분포(i.i.d) 위배, 데이터의 소실이나 순서 변경에 영향 조건부확률 이용 과거의 모든 정보가 필요한 것은 아니다. 가변적인 길이의 데이터를 다루어야 함 고정된 길이 τ 만큼의 sequence만 사용(Autoregressive model) 바로 직전 정보와 그 이전 정보를 잠재 변수로 인코딩하여 활용 (Latent Autoregressive model) 가중치 행렬은 변하지 않음 Backpropagation Through Time 가중치 행렬의 미분값이 너무 크거나 작으면 불안정해짐 긴 시퀀스가 필요한 data는 BPTT를 적용 시 기울기 소실(gradient vanish) 발생 t..
CNN Convolution input data에 대해 일제적으로 고정된 크기의 kernal을 적용 kernal은 정의역 내에서 움직여도 변하지 않음(translation invariant) 주어진 signal(입력)에 대해 국소적으로 적용(locality) input : 30x30, kernal : 3x3 일 시 -> output : (30-3+1)x(30-3+1) 채널이 여러개인 경우 input과 kernal의 채널 수가 같아야 함 커널이 n개 있다면 output의 채널도 n개 Convolution backpropagation 역전파 단계에서도 커널을 통해 gradient가 전달된다 연속적, 이산적일 때 동일