일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Counterfactual Explanations
- chatGPT
- 유튜브 API
- subdag
- session 유지
- Retry
- integrated gradient
- requests
- XAI
- flask
- API Gateway
- TensorFlow
- 상관관계
- 공분산
- login crawling
- Airflow
- top_k
- correlation
- API
- BigQuery
- grad-cam
- UDF
- tensorflow text
- gather_nd
- spark udf
- youtube data
- GCP
- hadoop
- GenericGBQException
- airflow subdag
- Today
- Total
목록Machine Learning (95)
데이터과학 삼학년
불균형한 데이터를 평가할 때 precision과 recall 중 어느 것을 우선시해야 하는지는 문제의 특성과 목표에 따라 다름 Precision (정밀도)정의: 모델이 양성으로 예측한 것 중 실제로 양성인 비율.공식: Precision = TP / (TP + FP)우선시해야 할 상황:*False Positive (위양성)**를 줄이는 것이 중요한 경우.예를 들어, 스팸 필터링에서 스팸이 아닌 이메일을 스팸으로 분류하는 경우(정상 이메일이 스팸함으로 가는 경우)를 줄이고 싶을 때.이상탐지 -> 모델의 이상탐지로 인해 유저 제재가 이루어졌을 경우, 크리티컬한 비즈니스 문제가 생길 수 있음(cs)Recall (재현율)정의: 실제 양성 중에서 모델이 양성으로 정확히 예측한 비율.공식: Recall = TP / ..
TABNET (Attentive Interpretable Tabular Learning)- 정형데이터에서 주로 XGBoost, CatBoost, LightGBM의 높은 성능을 보여주고 있음- 딥러닝 모델은 위에서 언급한 부스팅 계열의 모델보다 성능이 낮은 경우가 존재 앙상블 모델이 딥러닝 모델보다 선호되는 이유?!- 정형데이터는 Hyperplane경계를 가지는 Manifold라고 하는데 부스팅 모델은 이러한 Manifold에서 결정할때 더 효율적으로 작동- Tree기반의 모델은 학습이 빠르고 쉽게 개발 가능- Tree기반 모델은 높은 해석력을 가지고 있는 장점이 있고, 특성중요도도 구할수 있음 딥러닝 모델을 써야하는 이유- 성능을 더 높일 수 있음- 정형데이터와 비정형데이터를 함께 학습에 사용할 수 있음..
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..
Embedding Encoder는 범주형 변수를 다루는 강력한 라이브러리로, 간단한 사용법과 scikit-learn과의 호환성을 제공 sklearn 자체에는 범주형 변수를 임베딩으로 다룰 수 있는 기능이 아직 없음 해당 라이브러리를 이용하면 sklearn의 사용 방법을 그대로 따르면서 임베딩으로 전처리도 가능하게 구성할 수 있음 Embedding Encoder란? Embedding Encoder는 scikit-learn의 transformer와 유사하게 동작하지만, y를 신경망의 타겟으로 사용한다는 차이. 모든 입력 열이 범주형이라고 가정하고 각 열에 대한 임베딩을 계산 간단한 사용 예제 from embedding_encoder import EmbeddingEncoder # Regression 또는 Cl..
ROC Curve - multiclassification 문제에서는 각 label별 ROC커브를 그림import numpy as np import tensorflow as tf from sklearn.metrics import precision_recall_curve, auc import matplotlib.pyplot as plt from sklearn.preprocessing import OneHotEncoder # Assuming y_test is a 1D array of class labels y_test = y_test.values.reshape(-1, 1) # Create the one-hot encoder encoder = OneHotEncoder(sparse=False, categories..
인덕티브 학습 (Inductive Learning) 개념 설명 - 인덕티브 학습은 학습된 모델이 이전에 보지 못한 새로운 데이터에 대해 일반화할 수 있도록 학습하는 것을 의미 - supervised learning - 주어진 훈련 데이터에서 일반적인 규칙이나 패턴을 추출하여 새로운 데이터에 대한 예측을 수행하는 것을 목표 예시 - 분류 문제에서 고양이와 개의 이미지를 사용하여 학습한 후 새로운 이미지가 고양이인지 개인지 분류하는 것 트랜스덕티브 학습 (Transductive Learning) 개념 설명 - 트랜스덕티브 학습은 훈련 데이터와 동시에 테스트 데이터를 고려하여 학습하는 방법 - 학습 데이터와 테스트 데이터를 함께 고려하여 모델을 구축하고, 특정 테스트 데이터에 대한 예측을 수행 - semi-s..
다중공선성 문제 - 션형회귀에서는 변수가 발산됨 다중공선성 처리 방법 - 라쏘나 릿지, 일래스틱넷과 같이 정규항이 포함된 모델을 이용해 회귀 계수가 커지는 것을 억제하는 방법 - 다중공선성이 있는 feature 삭제 다중공선선 확인 방법 - 상관관계 - $VIF_i = \frac{1}{1-R^2_i}$ → 10 이상 - $\\{condition number} = {lambda_{\\{max}}} / {lambda_{\\{min}}}$ = 공분산 행렬의 최대 고유값 / 최소 고유값 비율 → 30이상이면 다중공선성이나 scaling 문제 의심