[Preprocessing] Categorical Feature Encoding
·
ML_DL/딥러닝 공부하기
Encoding categorical feature를 numerical feature로 변환하는 작업 OneHotEncoder 해당 범주를 1, 나머지는 0으로 하는 feature가 새로 생성된다. ohe = OneHotEncoder(sparse=False) a = pd.DataFrame(ohe.fit_transform(df[['weather']]), columns=['ranniy', 'sunny', 'windy']) df_a = pd.concat([df.drop('weather', axis=1), a], axis=1) df_a LabelEncoder categorie feature의 범주에 정수값을 부여한다. (ex - sunny 1, rainny 2, windy 3) 순서대로 정수값이 부여되기 때문에..
[Data Structure] 트리
·
코딩테스트/Python
트리 구조 계층형 트리 구조를 나타내는 추상 자료형 루트, 서브트리로 구성되며, 서로가 연결된 노드의 집합(재귀의 자기참조 형식) 트리 구조 주요 용어 차수 : 자식 노드의 개수 크기 : 자신을 포함한 모든 자식 노드의 개수 높이 : 현재 위치에서 리프노드 까지의 거리 깊이 : 루트에서 현재 노드까지의 거리 이진 트리 모든 노드의 차수가 2이하인 트리 정 이진트리 (full binary tree) : 모든 노드의 차수가 0또는 2인 트리 완전 이진트리 (complete binary tree) : 마지막 레벨을 제외하고 모든 레벨이 완전히 채워진 트리 포화 이진트리 (perfect binary tree) : 정이진트리 이면서, 완전이진트리인 경우
GCD(Great Common Divisior), LCM(Least Common Multiple)
·
코딩테스트/Python
1. for문 활용 a, b = 12, 10 # GCD - 최대공약수 for i in range(min(a,b), 0, -1): if a % i == 0 and b % i == 0: gcd = i break # LCM - 최소공배수 for i in range(a*b, 0, -1): if i % a == 0 and i % b == 0: lcm = i break 2. 유클리드 호제법 활용 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다 위 정의에 따라, r가 0일때의가 최대공약수가 된다. 또한, 두 수의 곱을 최대공약수로 나눈 값이 최소공배수가 된다. # GCD - 최대공약수 def GCD(a, b): while b > 0: a, b = a // b,..
Model Ensemble
·
ML_DL/딥러닝 공부하기
Model Ensemble weak classifier를 둘 이상 결합하여 strong classifier로 만드는 방법 Voting & Bagging 서로 다른 모델의 예측 결과를 놓고 최종 결과를 투표하는 방법 hard voting : 다수결의 원칙에 따라 최종 결과 결정 soft voting : 각 class의 확률을 평균내어 최종 결과 결정 다른 모델을 사용하면 voting, 하나의 모델을 복원 추출한 데이터로 학습하면 bagging이다. Boosting 여러 모델이 순차적으로 학습 예측을 하는 과정을 통해 오류에 가중치를 부여하여 성능을 향상하는 방법 일반적으로 bagging보다 학습시간이 길다 Stacking 각각의 모델이 예측한 결과를 최종 모델의 학습 데이터로 활용하는 방법
Macro-F1 score
·
ML_DL/딥러닝 공부하기
Accuracy 모든 예측 가운데 올바른 예측의 비율 그러나 정확도는 예측하고자 하는 class가 균형적일 때 효과적이다. 가령 강아지 사진 90장과 고양이 사진 10장이 있을 때, 전부 강아지라고 예측해도 정확도는 90%가 된다. F1 score accuracy와는 달리, 올바른 예측의 비율 뿐 아니라 오류의 종류도 함께 계산한다. Precision(정밀도) : 모델이 True라고 예측한 것 가운데 실제 True인 것의 비율 (질병 예측 등) $$ Precision = \frac{True Positive}{True Positives + False Positive} $$ Recall(재현율) : 실제 True인 것 가운데 모델이 True라고 예측한 것의 비율 (스팸메일 분류 등) $$ Recall = \..
[Pytorch] 모델 작성과 모델 학습 과정 정리
·
ML_DL/딥러닝 공부하기
Seed 고정 seed = 22 random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False torch.backends.cudnn.deterministic = True - 같은 input에 대해 결과 재현이 가능하도록 한다. torch.backends.cudnn.benchmark = False - 하드웨어에 따라 최적화된 알고리즘을 사용할 수 있도록 한다. (따라서 옵션을 끈다) CustomDataset from torch.utils.dataset import..