일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- API
- requests
- spark udf
- tensorflow text
- BigQuery
- integrated gradient
- gather_nd
- grad-cam
- Airflow
- correlation
- top_k
- API Gateway
- GenericGBQException
- login crawling
- airflow subdag
- session 유지
- 상관관계
- 유튜브 API
- UDF
- GCP
- flask
- chatGPT
- hadoop
- 공분산
- Retry
- Counterfactual Explanations
- TensorFlow
- youtube data
- XAI
- subdag
- Today
- Total
목록전체 글 (403)
데이터과학 삼학년
TABNET (Attentive Interpretable Tabular Learning)- 정형데이터에서 주로 XGBoost, CatBoost, LightGBM의 높은 성능을 보여주고 있음- 딥러닝 모델은 위에서 언급한 부스팅 계열의 모델보다 성능이 낮은 경우가 존재 앙상블 모델이 딥러닝 모델보다 선호되는 이유?!- 정형데이터는 Hyperplane경계를 가지는 Manifold라고 하는데 부스팅 모델은 이러한 Manifold에서 결정할때 더 효율적으로 작동- Tree기반의 모델은 학습이 빠르고 쉽게 개발 가능- Tree기반 모델은 높은 해석력을 가지고 있는 장점이 있고, 특성중요도도 구할수 있음 딥러닝 모델을 써야하는 이유- 성능을 더 높일 수 있음- 정형데이터와 비정형데이터를 함께 학습에 사용할 수 있음..
Uplift 모델링 - Uplift 모델링은 마케팅 및 광고 캠페인의 효과를 평가하고 최적화하기 위한 강력한 도구로 사용 - 이 모델은 개별 고객에 대한 특성을 고려하여 어떤 행동을 취할 경우 해당 고객의 반응이 가장 크게 변화할지를 예측 - 마케터들은 자원을 효율적으로 할당하고, 성과를 극대화할 수 있음 >> 마케팅을 안해도 서비스로 유입될 유저에게는 굳이 마케팅을 할 필요가 없다. 또한 마케팅을 하면 오히려 서비스에 반감을 가지는 유저도 있다. >> 따라서 마케팅을 안하면 서비스로 유입되지 않지만, 마케팅을 했을때 서비스로 유입될 유저를 선별하여 마케팅하는 것은 마케팅 비용 감소와 높은 전환률을 가질 수 있다 Uplift 모델링의 원리 - Uplift 모델링은 보통 "효과적인 인과 관계 추론"이라고도..
- GitHub에서 Pull Request를 생성할 때 템플릿을 사용하면 효과적으로 커뮤니케이션을 할 수 있고, 프로젝트의 품질을 높일 수 있다. 간단한 template 파일을 만들어 놓으면 PR 요청시 해당 template이 자동으로 로드되어 아주...편하게(?) 사용하는 방법을 공유한다! 1. PR 템플릿 생성 - 프로젝트 루트 디렉토리에 .github 디렉토리를 만들고, 그 안에 PULL_REQUEST_TEMPLATE.md 파일을 생성 - 여기에 PR 템플릿 파일들을 추가할 수 있음 (여러개의 template 파일 선택 가능) 2. 템플릿 파일 작성 - PR을 오픈할 때 보여줄 템플릿을 작성 - Markdown 형식으로 작성하며, 필요에 따라 다양한 섹션을 추가 가능 - 예를 들어, 아래와 같은 템..
tensorflow 모델을 spark 분산환경을 위해서 inference하는 방법 - spark udf (pandas udf)를 활용해서 각 worker node에 inference 코드를 전달!! 방안1) driver에서 모델을 로드해서 pandas udf에 모델을 주는 방법 - 이 방법은 pickling error가 나옴 - 이유는 driver에서 worker node에 udf를 이용해 파일/데이터를 전달할때 pickle화 시키는 것으로 보임 -> pickle화 시키는 과정에서 tensorflow model을 pickling하지 못해서 나오는 이슈로 보임 - 아래 코드는 error가 나올 것 : PicklingError: Can't pickle... # 데이터 생성 data = [("row1", 1...
sklearn 모델을 spark 환경에서 분산 인퍼런스하기!!! - pandas udf를 활용 : spark 드라이버가 각 worker에게 모델을 전달하고, 각 worker는 해당 모델을 이용해 pandas udf에서 spark dataframe을 pandas dataframe으로 변환해 예측하고 이를 다시 spark dataframe형태로 리턴 코드예시 from pyspark.sql.functions import col from sklearn.linear_model import LinearRegression # 데이터 생성 data = [("row1", 1.0, 2.0, 3.0), ("row2", 4.0, 5.0, 6.0)] columns = ["id", "feature1", "feature2", "f..
데이터 임베딩의 최적 차원 결정 머신러닝에서 범주형 변수를 다룰 때 적절한 임베딩 차원을 선택하는 것은 매우 중요 'min(50, num_categories/2)'이라는 흔한 규칙이 있지만, 100개까지의 범주에 대해서만 적용되며, 100개를 넘어가면 어떻게 해야 할까요? 이제 최적 임베딩 차원을 결정하기 위한 데이터 기반 방식을 살펴보겠다! 1000개 이하의 범주에 대한 제안 1000개 이하의 num_categories에 대해 제안되는 공식은 num_embeddings = min(500, num_categories/2) - 이 제안은 특정 차원에서 무작위 분포된 N 벡터의 직교성을 확인하기 위한 것 - 벡터를 정규화하고 점곱을 계산하여 평균과 표준 편차를 관찰 가능 - 아래 그래프에서 볼 수 있듯이, ..
Embedding Encoder는 범주형 변수를 다루는 강력한 라이브러리로, 간단한 사용법과 scikit-learn과의 호환성을 제공 sklearn 자체에는 범주형 변수를 임베딩으로 다룰 수 있는 기능이 아직 없음 해당 라이브러리를 이용하면 sklearn의 사용 방법을 그대로 따르면서 임베딩으로 전처리도 가능하게 구성할 수 있음 Embedding Encoder란? Embedding Encoder는 scikit-learn의 transformer와 유사하게 동작하지만, y를 신경망의 타겟으로 사용한다는 차이. 모든 입력 열이 범주형이라고 가정하고 각 열에 대한 임베딩을 계산 간단한 사용 예제 from embedding_encoder import EmbeddingEncoder # Regression 또는 Cl..
카파 통계량 카파(Kappa) 통계량은 두 명 이상의 평가자(inter-rater) 간의 일치 정도를 측정하는 통계량 주로 분류 작업에서 사용되며, 각 평가자가 관측한 결과에 대한 일치 정도를 평가 특히, 다수의 평가자가 주어진 문제에서 얼마나 일치하는지를 확인하는 데에 유용 >> 모델의 평가에서 불균형이 심한 데이터에 대한 평가에 활용하면 좋다!! - Kappa 통계량은 -1에서 1 사이의 값을 가짐 - 1에 가까울수록 모델의 예측이 완벽에 가깝다고 해석 - 0에 가까울수록 모델의 예측이 무작위 예측과 유사 카파 통계량의 정의 $$ [ \kappa = \frac{P_o - P_e}{1 - P_e} ] $$ 여기서, $ (P_o) $는 실제 관측된 일치도(Observered Agreement) $ (P_..