Loss
Regression - mean_square_error
Binary classification - binary_crossentropy
Multiclass classification - categorical_crossentropy
Classification
data가 imbalance하게 있어서 accuracy로 정확한 performance 측정이 어렵다.(ex.의료소송)
precision = 2/(2+3) = 40% ==> positive 판정 얼마나 정밀했나?
recall = 2/ (2+7) = 22% ==> positive 사건을 잘 재현 했나?
precision: positive 판정이 맞을 확률
- 암 판정 중 실제 암일 확률/ 고양이 판정 중 실제 고양이일 확률
Recall: positive 사건이 잘 맞았는지
-암 환자 중 아믈 진단받을 확률/ 고양이 중 실제 고양이로 인식
RNN
RNN의 종류
1.Fully-Connected Layer
one to one/ Dense Layer 모양
2.Image Captioning
one to many/ sequential하지 않은 data를 input으로 받고 sequential한 output을 출력
3.Sentiment Classification
many to one
4.Machine Translation
many to many/ 문장을 끝까지 앍은 시점부터 번역된 문장을 출력
5.Video Classification
many to many/ 과거부터 현재까지의 image를 통해 output 값을 출력
용어정리
shape(sample, time_step, input_dim)
sample: sample 개수(1회 train기준 = batch_size)
time_step= input_length: 어느 정도의 시간을 고려할 것인가
input_dim: input data의 feature수
RNN 1 layer -> Cell(RNN의 기본 구성 단위) -> Unit(Cell 내부의 hidden unit 개수)
cell연산
1. input 연산(unit)
2.hidden_state 연산(이전 unit의 연산 결과를 받음)
3.activation function
4.output연산
return_sequences = False
return_sequences = True
2.파일 불러오기 및 저장하기
해당 위치의 csv 파일을 불러서 출력
filepath_or_buffer: 경로 설정
header: 열이 되는 행을 지정 (default = 0)
index_col: DataFrame의 행 index가 되는 column을 지정 (default = None)
절대경로/ 상대경로
'./'은 현재 해당 파일이 있는 폴더, '../'은 현재 해당 파일의 부모 폴더
csv 파일 저장하기 (pd.DataFrame.to_csv)
path_or_buf: 저장할 경로
index: index를 새롭게 추가할 것인가? (default: True) ==> 그래서 웬만하면 False로 하는 것이 낫다
열
DataFrame에서 하나의 column(열)은 series이다
column의 name으로 indexing & slicing 한다
누락 data 채워 넣기
-fillna
0으로 채워 넣기notna(): 누락 data에서 False를 반환 (== notnull() )
중복 data 확인 (duplicated)
중복 data 제거 (drop_duplicates)