NLP P stage Day 3, 9/29 Wed

hylee5642·2021년 10월 3일
0

Boostcamp AI Tech 2기

목록 보기
30/32
# train.py
training_args = TrainingArguments(**cfg['TrainingArguments'])


def func1(*arg):
	print(arg)

def func2(**kwarg):
	print(kwarg)

func1('a','b')
func2(first='a', second='b')

# ('a','b')
# {first:'a', second: 'b'}

파라미터 개수를 알지 못할 때 파라미터 arg나 **kwarg를 쓰는데 arg는 tuple 형태, kwarg는 dict 형태로 반환해준다. kwarg는 key와 value를 모두 입력해줘야 함.

# train.py

# F1 = 2 * (precision * recall) / (precision + recall)
# 공식 문서 형식
sklearn.metrics.f1_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')
# 실제 활용
sklearn.metrics.f1_score(labels, preds, average="micro", labels=label_indices)

사이킷런의 f1 score를 사용하는데 반환값은 0에서 1사이의 값이고 우리가 사용할 때는 100을 곱해서 사용한다. average는 micro를 사용하는데 total true positive, false negative, false positive를 사용한다고 한다. (추가적으로 더 알아보기)

Calculate metrics globally by counting the total true positives, false negatives and false positives.

# 공식 문서 형식
sklearn.model_selection.StratifiedShuffleSplit(n_splits=10, *, test_size=None, train_size=None, random_state=None)
# 실제 활용
StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)

StratifiedKFold와 ShuffleSplit이 합쳐진 버전

  • StratifiedKFold는 앙상블 기법인데 벌써 앙상블을 사용한 이유?
profile
AI Engineer

0개의 댓글