목록전체 글 (42)
이것저것 잡동사니
hyperopt를 사용해 bayesian optimization으로 classification을 수행하는 LightGBM 트리 모델의 hyperparameter의 최적값을 찾는 코드. def objective_func(_params): params = { 'objective': 'multiclass', 'num_class': 3, 'num_iterations': 4000, 'feature_pre_filter': False, 'verbosity': -1, 'device': 'gpu', # cpu인 경우 이 라인 생략하면 됨 'n_estimators': int(_params['n_estimators']), 'max_depth': int(_params['max_depth']), 'min_child_sample..
1. 결정 트리란? 결정 트리(decision tree)는 학습된 규칙에 따라 데이터를 분류(classification)하거나 회귀(regression)하는 지도학습(supervised learning)모델 중 하나다. 예를 들어, 다음의 결정 트리는 타이타닉호 탑승객의 생존 여부를 예측한다. 여러 입력 데이터에 대해 위의 결정 트리는 다음과 같은 예측을 할 것이다. 결정 트리가 예측을 수행할 때 입력 데이터의 모든 feature를 사용할 필요는 없다. ※ feature : 성별, 나이, 객실 등급 등... , threshold : 분류 시 사용하는 경계값 (9.5세, 2.5명 등...) 2. 기본적인 트리 생성 원리 각 분류 규칙에 사용되는 feature와 임계치(threshold)는 가장 불순도(im..
커널밀도추정(KDE)은 이산적인 데이터를 사용해 연속적인 밀도함수(density function)를 추정하는 것이다. 간단하게는 히스토그램을 매끄러운 곡선으로 근사한 그래프를 만드는 것이다. 신호 처리나 경제 분야에서는 Parzen-Rosenblatt window method라고 부르기도 한다. 히스토그램과 동일한 값(데이터) 분포에서 랜덤한 값을 뽑아냈을 때, 특정 값이 나올 확률을 추정한 것이다. 히스토그램과 형태는 비슷하지만 \(y\)축 스케일이 다른 것을 확인할 수 있다. (확률은 0~1 사이의 값이기 때문) 이산적인 데이터로 밀도함수를 추정하는 방법에는 parametric 방법과 non-parametric 방법이 있다. Parametric 밀도 추정 방법은 밀도 함수의 기본적인 틀이 이미 정해진..
아래의 모든 코드에는 예측 클래스와 실제 클래스를 랜덤으로 각각 100개씩 생성하는 다음 코드를 생략하고 작성했다. import numpy as np y_pred = np.random.randint(2, size=100) # 100 Predictions (0 or 1) y_true = np.random.randint(2, size=100) # 100 True Classes (0 or 1) 1. 정확도(Accuracy) from sklearn.metrics import accuracy_score print(accuracy_score(y_true, y_pred)) 2. 오차 행렬(Confusion Matrix) from sklearn.metrics import confusion_matrix print(con..
이전 글 1. [리뷰/알바] CJ 대한통운 옥천HUB 택배 상하차 알바 후기 2. [리뷰/알바] CJ 대한통운 옥천HUB 택배 상하차 알바 후기 - 두 번째 ※ 본 글에는 정말 어쩔 수 없이 약간(?)의 비속어가 포함되어 있습니다. 이번엔 비속어 없음! 다음 달에 3학년 하계 군사훈련을 들어가야 하는데 한 2주 정도가 남아서 자고 있는 근육이나 깨워볼까 싶어 상하차를 다녀왔다. 원래는 이번에도 옥천HUB로 가려고 했는데 알바천국에 구미에서 출발하는 청원HUB 공고가 보이길래 신청해봤다. 힘든 곳은 악명이 높아 유명할텐데 청원HUB는 들어 본 적이 없어서 비교적 쉽지 않을까 싶어서였다. 옥천에 처음 갔을 때 잠 때문에 힘들었던 경험 덕분에 이번에는 밤낮도 바꾸고 통근버스로 왔다갔다 하는 시간에도 잠을 잤다..