일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- integrated gradient
- XAI
- Airflow
- GenericGBQException
- login crawling
- requests
- subdag
- top_k
- airflow subdag
- TensorFlow
- Retry
- chatGPT
- 상관관계
- BigQuery
- GCP
- spark udf
- tensorflow text
- 공분산
- session 유지
- API
- correlation
- Counterfactual Explanations
- youtube data
- API Gateway
- flask
- UDF
- grad-cam
- 유튜브 API
- hadoop
- gather_nd
- Today
- Total
목록분류 전체보기 (421)
데이터과학 삼학년
소프트웨어 개발에서 생산성과 일관성을 높이는 방법- 소프트웨어 개발의 빠르게 변화하는 세계에서 효율성과 일관성은 매우 중요 -> 이러한 목표를 달성하기 위해 Boilerplate 템플릿을 사용- 경험이 풍부한 개발자든, 이제 막 시작한 개발자든, Boilerplate 템플릿을 이해하고 활용하는 것은 생산성을 크게 높이고 프로젝트 전반에 걸쳐 코드베이스의 일관성을 보장!! Boilerplate 템플릿- Boilerplate 템플릿, 흔히 Boilerplate 코드라고도 불리며, 여러 곳에서 거의 수정 없이 반복되는 코드 섹션- 이러한 템플릿은 특정 작업을 수행하거나 프로젝트를 설정하는 표준 방법을 제공- "Boilerplate"라는 용어는 원래 철강 산업에서 구조물을 만드는 데 사용된 사전 제작된 철판을..
깃허브 PR 리뷰: 컨벤셔널 커멘트 사용!!!- 코드 리뷰는 소프트웨어 개발의 중요한 부분- 리뷰 과정을 체계적으로 관리하기 위해 컨벤셔널 커멘트 방법을 사용 컨벤셔널 커멘트- 컨벤셔널 커멘트는 코드 리뷰 시 일관성 있는 피드백을 제공하기 위해 사용되는 코멘트 작성 방법- 이는 코드 리뷰를 더 이해하기 쉽고, 추적하기 쉽게 만들어 줌- 일반적으로 사용되는 컨벤셔널 커멘트nit: 사소한 수정 사항이나 제안.question: 이해를 돕기 위해 질문.suggestion: 대안적인 접근 방법이나 개선사항 제안.issue: 잠재적인 문제나 버그 지적.praise: 잘 작성된 코드에 대한 칭찬.깃허브에서 PR 리뷰 시작하기PR 열기: 리뷰할 PR을 클릭하여 오픈파일 변경 사항 확인: "Files changed" 탭..
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 벡터의 직교성을 확인하기 위한 것 - 벡터를 정규화하고 점곱을 계산하여 평균과 표준 편차를 관찰 가능 - 아래 그래프에서 볼 수 있듯이, ..