Machine learning(8)
-
MongoDB Atlas가 기계 학습에 적합한 4가지 이유
MongoDB가 그러면 내가 자주 사용하는 기계 학습과 어떻게 연관될 수 있는 지를 찾아봤다. MongoDB를 머신러닝에 적합한 이유를 찾을 때 보통 아래와 같은 이유들을 말하는 것 같다 Reason Number 1: Flexible Data Model MongoDB는 여러 가지 이유로 기계 학습을 위한 최고의 데이터베이스 중 하나입니다. 첫 번째 이유는 MongoDB가 JSON 문서를 저장하고 유연한 스키마를 가지고 있기 때문입니다. 열 정의가 있는 스키마와 테이블을 정의해야 하는 관계형 데이터베이스와 달리 MongoDB를 사용하면 사전 스키마 설계 없이 데이터를 직접 로드할 수 있습니다. 즉, 새로운 소스에서 데이터를 로드하고 즉시 작업을 시작할 수 있습니다. 이러한 기본적인 유연성 때문에 가스 가격..
2023.03.03 -
[ML] 앙상블 모델 테크닉
앙상블 학습 방법 사용의 장점 앙상블 기법을 솔로 모델과 비교하면 앙상블 방법이 더 큰 예측 정확도를 제공한다. 편중(bias)과 분산(variance)은 앙상블을 통해 줄일 수 있다. 대부분의 경우 모델의 과적합 또는 과소적합이 방지됩니다. 앙상블 모델은 더 안정적이고 노이즈가 적다. 앙상블 테크닉 정리 1. Bagging - 단일 데이터세트를 인스턴스별로 하위 집합으로 나눕니다(병렬로 작동) 2. Boosting - 단일 데이터세트를 인스턴스별로 하위 집합으로 나눕니다(순차적으로 작동). 3. Stacking - 다른 분류기 사용 Bagging 배깅의 목표는 많은 모델의 출력을 통합하여 보다 정확한 결과를 제공하는 것이다. 그러나 문제는 모든 모델을 동일한 데이터 집합을 사용하여 만든 다음 결과를 집..
2022.07.16 -
Python) 고객 생애 가치(CLV) 예측하기
고객 생애 가치를 예측할 때는 기존 회귀 모델 방식보다는 다른 특정 가정을 사용하고 있는 모델을 사용해야 한다. lifetimes이라는 패키지를 사용하는 예시를 해보고자 한다. 고객 생애 가치(CLV)는 고객이 인수부터 비즈니스와의 관계가 종료될 때까지 지출할 총금액입니다. 참고 부탁드립니다. 2022.03.17 - [분석 Python/구현 및 자료] - Python) 고객 생애 가치(CLV)에 대해서 알아보기 예측(Prediction)과 Calculation(계산)에 차이는 무엇일까요? CLV를 계산할 때, 오로지 현재 상황을 조사하고 분석만 할 수 있습니다. 그래서 우리는 고객에 새로운 상품을 살 때나 특정한 한계에 도달했을 때 추측할 수가 없습니다. 예측을 통해 우리는 기계 학습을 프로세스에 추가하..
2022.03.17 -
Python) Permutation Importance 다양하게 표현하는 방법
해당 파일에 함수를 정리하였습니다. In [26]: from IPython.core.display import display, HTML display(HTML("")) /tmp/ipykernel_3209568/3510566465.py:1: DeprecationWarning: Importing display from IPython.core.display is deprecated since IPython 7.14, please import from IPython display from IPython.core.display import display, HTML 참고¶ 해당 코드를 기반으로 정리한 코드입니다. https://github.com/cerlymarco/MEDIUM_NoteBook/blob/master..
2022.01.31 -
진행중) Model drift 자료 정리
목차 Definition 모델은 생성된 시간때의 변수와 매개 변수를 기반으로 최적화되기 때문에 이는 기계 학습 모델에 문제를 제기합니다. 기계 학습 모델을 개발하는 동안 이루어진 공통적이고 때로는 부정확한 가정은 각 데이터 지점이 독립적이고 동일한 분포(i.i.d) 랜덤 변수라는 것입니다. 어려운 말로 표현하면, 환경의 변화로 인해 모형의 예측 검정력이 저하되어 변수 간의 관계가 저하되는 것을 말합니다. 위의 예를 참조하면 스팸 전자 메일의 표시 변경으로 인해 몇 년 전에 생성된 부정 탐지 모델이 저하될 수 있습니다. 즉, 시간이 지남에 따라서 기계 학습 모델의 정확도의 상실은 모델 드리프트(model drifit)로 정의됩니다. 크게 2가지 광범위한 범주류 분류할 수 있다고 합니다. Concept Dr..
2021.09.26 -
[Survey] Feature Engineering in AutoML 리뷰
AutoML에서 자동 피처 엔지니어링에 대해서 관심이 많다. 보통 우리가 딥러닝을 쓰는 것도 사람들이 알 수 없는 패턴을 딥러닝이 학습(Representation Learning)을 기대하는 것인데, 이것이 현재는 비정형 데이터에서는 많이 사용하고 있으나, 여전히 정형 데이터에는 사람의 손이 타는 것 같다. 그래서 보통 어떤 알고리즘에서는 이미지를 통해서 전처리 단계를 비정형데이터로 만드는 방법이 있는가 하면, 아니면 먼가 복잡하게 내부적으로 처리하게 해서 자동으로 처리하는 경우를 본 것 같다. 여기서는 그러한 방법들 말고, 그냥 정형 데이터가 있다고 했을 때, 처리하는 방법 중에서 PCA를 활용한 AutoML에 대한 자료가 있어서 살펴본다. 아시다시피 정형 데이터는 아주 크게 보면, 연속형 변수와 범주..
2020.11.07 -
NN에서 Categorical Variables에 대해서는 어떻게 해야할까?
현재 Neural Network는 주로 이미지나 비디어 같이 Unconstructed Data에 대해서 Convolution을 사용해서 feature의 Parameter 개수를 축약하면서 Wide한 구조로 만들 수 데이터에 대한 Representation을 layer에서 잘 해줘서 된다고 생각한다. 하지만 현재 나는 주로 그런 Unconstructed Data 보다는 주로 tabular data에 대해서 많이 다루고 있다. 일단 Neural Network는 깡패이기 때문에 왠만하면 다른 알고리즘과 비슷한 성능이 잘 나온다. 하지만 비슷한 성능은 나오지만, 설명력이 좋지 못하니 굳이 tree-based 알고리즘과의 차이를 크게 내지 못하니, 굳이 사용해나 되기도 싶다. 최근에 보니 그래서 tree 기반과 ..
2019.05.06 -
threshold는 어떻게 정해야 할까? 개인적인 간단한 생각
우리가 어떤 모델링을 하고 나오는 값은 결국 확률 값으로 나오게 된다. 보통은 argmax 나 max f1 , 대충 0.5 같은 기준을 통해서 예측 타깃 값을 구한 다음 Confusion Matrix를 구해서 Accuracy 도 보고 Recall , Precision 같은 것을 확인해서 모델을 평가하게 된다. 그러면 이러한 기준이 되는 threshold(=cut off)는 어떻게 정해야 할까? 최근 겪고 있는 문제는 데이터가 imbalance 할 때 모델의 확률 값을 봤을 때 0의 경우에는 확실히 0이지만 1인 경우에는 0.01 ~ 0.001 이러한 부근에 있다. 보통 이러한 cut off 문제를 완화하기 위해 추천하는 방법은 undersampling, oversampling, sensitive cost..
2019.05.04