반응형

분류 전체보기 176

Python package dependency를 알려주는 pipdeptree

pipdeptree라는 package를 이용해 설치된 파이썬 패키지의 의존성을 확인할 수 있다. 설치 방법은 아래와 같다. pip install pipdeptree pipdeptree를 실행하면 다음과 같이 설치된 Python package의 의존성을 tree형태로 보여주고, 가장 위에는 충돌이 일어날 수 있는 package의 목록을 보여준다. -p option을 이용해 특정 package의 의존성을 확인할 수 있으며, -r option을 이용하면 반대로 어떤 package가 해당 package에 의존하고 있는지를 확인할 수 있다. package 의존에 충돌이 일어나면 python 코드를 실행할 때 원인도 알려주지 않는 에러가 뜰 때가 많은데.. 😡 유용하게 사용할 수 있을 것 같다.

Python으로 Multiclass sensitivity, specificity 계산하기

Multiclass 문제의 경우 sensitivity(민감도)와 specificity(특이도)를 각 class마다 계산해야 한다. sklearn.metrics.confusion_matrix를 이용해 각 class의 sensitivity와 specificity를 계산할 수 있다. from sklearn.metrics import confusion_matrix y = y.argmax(axis=-1) y_pred = y_pred.argmax(axis=-1) y_i = np.where(y==y_class, 1, 0) y_pred_i = np.where(y_pred==y_class, 1, 0) cfx = confusion_matrix(y_i, y_pred_i) y_i와 y_pred_i는 y_class에 속하는 s..

[PyTorch] CosineAnnealingLR, CosineAnnealingWarmRestarts

Cosine Annealing은 SGDR: Stochastic Gardient Descent with Warm Restarts에서 제안된 learning rate scheduling 방법이다. Cosine Annealing은 learning rate가 cosine 함수의 주기를 따라 감소하고, 증가하는 과정을 반복한다. 우선, Cosine Annealing의 수식은 다음과 같다. $\eta_t=\eta_{min}+\frac12(\eta_{max}-\eta_{min})(1+cos(\frac{T_{cur}}{T_{max}}\pi))$ $\eta$는 learning rate를 나타낸다. Cosine Annealing에서 설정 가능한 parameter은 다음과 같다. 1. $\eta_{min}$ : 최소 lea..

10년간의 MICCAI BraTS Challenge data, task 총정리

Brain Tumor Segmentation (BraTS) Challenge는 MICCAI(Medical Image Computing and Computer Assisted Interventions)에서 주최하는 challenge로, 2012년에 처음 시작하여 올해로 10주년을 맞았다. 데이터의 종류나 lesion의 종류 등에 따라 brain tumor segmentation method의 성능이 달라 평가에 어려움이 있어, state-of-the-art method를 찾고 large public dataset을 만들기 위해 시작되었다고 한다. 매년 Brain tumor과 관련된 데이터셋과 task가 공개되어, 많은 연구에서도 이용되고 있다. 올해는 RNSA(Radiological Society of N..

Convolution layer의 parameter 개수

Input channel이 1이고, output channel도 1인 경우는 단순히 single-channel image에 convolution을 하고 bias term을 더해주면 된다. 아래 그림에서는 bias term은 생략됐지만, 2*2 kernel을 사용하고 추가로 bias term이 하나 있으니 이 경우 총 parameter 수는 5이다. 그러나 실제로 deep learning model에 convolution layer을 이용할 때에는 input channel의 수도 여러 개이고, output channel의 수도 여러 개인 경우가 많다. 이 경우 parameter 개수를 계산하는 법을 설명하겠다. Input channel의 수를 $C_{in}$, output channel의 수를 $C_{ou..

Nested cross validation

흔히 Cross validation은 Train data와 Validation data를, 혹은 Train data와 Test data를 k회 각각 다른 방법으로 분할하여 모델 성능을 검증하는 방법이다. 아래 그림은 5-fold Train-Test cross validation을 설명하고 있다. Train data와 Validation data의 분할에 cross validation을 사용한다면, 다양한 validation data를 이용해 최적의 model parameter을 탐색하기 위함이고, Train data와 Test data의 분할에 cross validation을 사용한다면, 다양한 test data에 대해 model의 성능을 평가하기 위함이다. Nested Cross validation은 ..

[Scikit-Learn] Multiclass ROC Curve 그리기

Scikit-learn의 sklean.metric.roc_curve 는 binary label에 대해서만 사용할 수 있다. 이를 이용해 Multiclass ROC Curve를 구하고 그리려면 각 class에 대해 ROC curve를 계산하고 각각 plotting해야 한다. from sklearn.metrics import roc_curve import matplotlib.pyplot as plt for i in range(y.shape[-1]): fprs, tprs, _ = roc_curve(y[:,i], y_pred[:,i]) #calculate fprs and tprs for each class plt.plot(fprs,tprs,label='{}'.format(i)) #plot roc curve of..

[numpy] array의 print 형식 변경하는 법

float type의 numpy array를 print할 때 소수점이 매우 길면 1.1234e-01와 같은 형식으로 출력돼서 불편할 때가 있다. np.set_printoptions를 이용해 numpy array의 출력 옵션을 변경할 수 있다. I. np.set_printoptions의 suppress option을 True로 설정해 주면 0.11234와 같은 형식으로 출력된다. (fixed point notation) II. precision option을 조정하여 소숫점 아래 숫자의 개수 (정밀도)를 조정할 수도 있다. III. 혹은 직접 lambda식을 이용해 formatter을 지정해줄 수도 있다.

[Scikit-Learn] 주요 Classifier와 Parameter 정리

- 목차 - - SGDClassifier (Linear SGD Classifier) - NuSVC (SVM with nonlinear kernel) - KNeighborsCLassifier (KNN Classifier) - MLPClssifier (MLP) I. SGDClassifier from sklearn.linear_model import SGDClassifier model = SGDClassifier(loss='hinge', penalty='l2', alpha=0.0001, max_iter=1000) SGD training을 이용한 SGD Classifier이다. 주요 Parameters: - loss: 'hinge', 'log', 'modified_huber', 'squared_hinge', '..

[Librosa] music/audio processing library Librosa 사용법 Tutorial - (4) Audio feature processing

music/audio processing library Librosa 사용법 Tutorial (1) Install, import and load (2) Audio data representations (Spectogram, Mel-spectogram) (3) Audio feature extraction (4) Audio feature processing (3)에서 추출한 Audio feature을 가지고 추가적인 processing을 하여 수행할 task의 성능을 높일 수 있다. Using Delta and Double-delta Feature의 delta(1차 차분)와 double-delta(2차 차분) 값들을 이용할 수 있다. 아래 코드는 13-dim mean mfcc의 delta와 double-de..

반응형