전체 글(833)
-
고객 세분화) 생존 분석을 활용한 고객 수명 예측
본 글에서는 마케팅에서 생존 분석이 왜 필요한 지에 대해서 다뤄보고자 한다. 기업의 입장에서는 고객의 특성을 파악하고 고객의 가치를 측정하여 적절한 마케팅전략을 수립하는 것은 고객가치를 상승시키고 지속적 경쟁우위를 유지하는데 있어서 매우 중요함. 고객가치란 고객 가치에 대한 개념은 시장의 경쟁 환경 및 고객의 구매성향 변화와 정보기술의 발전 등으로 치열한 시장의 경쟁구도 속에서 고객과의 지속적인 관계를 유지함으로써 기업의 이익을 극대화하고자 하는 목적에서 출발 고객관계관리(CRM) 고객가치에 대한 올바른 측정과 고객의 가치분석은 고객가치에 따라 차별화된 대표적 마케팅 전략과 기업의 경쟁력강화의 핵심수단으로 CRM(customer relationship management)의 중요한 요소가 되었음. CRM..
2023.02.11 -
python) metaflow 파이썬 스크립트에서 실행해보기
metaflow를 이용해서 python script를 실행하는 방법에 대해서 공유 subprocess를 실행하고, 대기 상태를 건 다음에 다음 flow를 실행하게 해 봤다. import subprocess import time print("first") p = subprocess.Popen(['python', './metaflow/tutorials/02-statistics/stats.py','run']) while p.poll() is None: print('.', end='', flush=True) time.sleep(1) print('returncode', p.returncode) print("second") p = subprocess.Popen(['python', './metaflow/tutoria..
2023.02.10 -
Python) AutoML 라이브러리 정리
자동 라이브러리 패키지 목록들 정리해보기 2023년 2월 8일 기준 PyCaret H2O AutoML TPOT Auto-sklearn FLAML EvalML AutoKeras Auto-ViML AutoGluon MLBox 참고 https://moez-62905.medium.com/top-automl-python-libraries-in-2022-2d306cf7acf0 Top AutoML Python libraries in 2022 A List of Python AutoML libraries moez-62905.medium.com https://www.analyticsinsight.net/top-10-automl-libraries-for-implementing-in-your-machine-learning-p..
2023.02.08 -
Python) multiprocessing 코어 수 제한해서 돌리기
이 글의 목적은 병렬코드를 작성할 때 자기에게 주어진 코어가 제한되어 있는 경우에 대한 팁이 담겨 있는 글이다. 팁을 적기 전에 언제 병렬코드가 필요하고, 또 언제 코어 수를 제한해야 하는 지 생각해 보자. 작업을 하다 보면, loop를 쓰는 경우가 많고, task마다 다르겠지만, 각각의 job은 서로 관련이 없는 경우를 푸는 경우가 있다. 이럴 때 가장 쉽게 생각할 수 있는 것은 병렬로 코드를 짜는 것을 생각한다. 아래 그림처럼 100,000개를 처리할 때 각각의 record끼리 관계가 없다고 하면, 해당 작업을 끝내는 동안 계속 기다려야 한다. 바쁜 우리들은 할 게 많기 때문에 이 시간을 줄이고 싶다는 생각을 하게 되고, 결국 Multi-Processing을 사용하려고 검색을 하게 된다. 아래 그림처..
2023.02.04 -
Python) pyarrow 사용 방법
2022.11.26 - [분석 Python/구현 및 자료] - Python) pyarrow 다뤄보기 2022.12.21 - [분석 Python/구현 및 자료] - Python) pyarrow 사용 방법 라이브러리 import numpy as np import pyarrow.parquet as pq import pandas as pd from sklearn.datasets import make_classification 데이터 생성 X_pd= pd.DataFrame(X,columns =[ f"feature_{i}" for i in range(X.shape[1])]) X_pd['class'] =y 파티션별로 저장 X_pd.to_parquet( path="./test.parquet", engine='pyarr..
2022.12.21 -
Python) Catboost 모델링 및 Shap으로 분석해보기
In [1]: from IPython.core.display import display, HTML display(HTML("")) /tmp/ipykernel_2227596/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 In [2]: import shap # train XGBoost model X,y = shap.datasets.adult() In [5]: import pandas as pd import ..
2022.11.27 -
Python) pyarrow 다뤄보기
2022.11.26 - [분석 Python/구현 및 자료] - Python) pyarrow 다뤄보기 2022.12.21 - [분석 Python/구현 및 자료] - Python) pyarrow 사용 방법 Apache Arrow란? (https://realsalmon.tistory.com/21) 직렬화(Serialization)란? (https://realsalmon.tistory.com/21) Zero-Copy 직렬화 Pyarrow란? 아파치 애로우(Apache Arrow)라는 메모리 내 분석을 위한 개발 플랫폼인데, 빅데이터를 빠르게 처리하고 이동할 수 있도록 하는 일련의 기술을 제공하는 라이브러리를 파이썬 PyArrow를 통해 구현할 수 있다. 기존의 pandas로 용량이 큰 csv파일을 로드하면 시간..
2022.11.26 -
논문 리뷰) Deep Interest Network 리뷰
저자들이 주장하는 것은 한 그림을 표현하면 다음과 같다. 유저가 특정 상품에 대해서 클릭할 지 안할 것인 지 유저의 성향과 검색 기록을 바탕으로 클릭 여부를 예측한다는 것이고, 이때 가장 큰 핵심 포인트는 모든 히스토리를 동등하게 보는 것이 아닌 유저의 성향에다가 기존 검색 기록을 특정 상품과의 지역적인 특색을 합쳐서 해당 상품에 대해서 클릭 여부를 판단하겠다는 것이 이 논문에서 가장 말하고자 하는 것이라 생각한다. 저자들은 이런 문제를 기존에 풀 때는 fixed-length 의 벡터를 사용하고 있다는 것에 대해서 bottleneck이 생겨 유저의 다양성을 학습하는데 어려움이 있다가 하고, 이러한 문제를 해결하기 위해서 특정 광고와 기존 과거 행동등으로 adaptively하게 유저의 행동을 표현함으로써,..
2022.11.22 -
(진행중) SHAP (Shapley Additive exPlanations) 이해하기
SHAP에 대해서 좀 더 이해를 해보고자 블로그를 참고하는데, 블로그를 보고 정확히 이해하려니 매우 어렵지만 이해해보려고 한다... 게임 이론 게임이론이란 우리가 아는 게임을 말하는 것이 아닌 여러 주제가 서로 영향을 미치는 상황에서 서로가 어떤 의사결정이나 행동을 하는지에 대해 이론화한 것을 말한다. 즉, 의사결정자는 자신의 결정뿐 아니라 상대방의 결정이 무엇이 될 것인가에 대해서 관심을 가지게 될 수밖에 없고 이러한 상황의 문제를 다루는 의사결정학의 한 분야라고 한다. 게임 이론 분류 Shapley value 개념 및 예시 게임 이론의 개념을 기반으로 하며 예측에 대한 각 피처의 기여도를 계산하여 기계 학습 모델의 예측을 설명하는 데 사용할 수 있습니다. Shap Value에 대한 간단한 이야기를 해..
2022.11.21 -
Airflow) 설치 간단 예시
export AIRFLOW_HOME="$(pwd)" # 원하는 위치에 설정하기 echo "$AIRFLOW_HOME" mkdir ~/airflow export AIRFLOW_HOME=~/airflow AIRFLOW_VERSION=2.3.2 PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)" CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt" pip install --ignore-installed PyYAML pip install "apache-a..
2022.11.17 -
Catboost & Shap) 예시 코드
catboost와 shap 관련 예시 코드 catboost를 사용할 때, shap.Explanation을 잘 사용해야 함. cat_features = list(train_x.select_dtypes("category")) train_dataset = cb.Pool(train_x, train_y,cat_features=cat_features) test__dataset = cb.Pool(test_x, test_y,cat_features=cat_features) model = cb.CatBoostRegressor(loss_function='RMSE',random_state=1234, custom_metric=['RMSE', 'MAE', 'R2']) grid = {'iterations': [100, 150, 2..
2022.11.16 -
논문 간단 리뷰) DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
Introduction 클릭률(CTR) 예측은 추천 시스템에서 매우 중요한데, 여기서 작업은 사용자가 추천 항목을 클릭할 확률을 추정하는 것입니다. 많은 추천 시스템에서 목표는 클릭 수를 최대화하는 것입니다. 따라서 사용자에게 반환되는 항목은 예상 CTR로 순위를 매길 수 있습니다. 반면에 온라인 광고와 같은 다른 애플리케이션 시나리오에서는 수익을 개선하는 것도 중요하므로 모든 후보에서 "입찰"이 이점인 CTR×bid로 순위 전략을 조정할 수 있습니다. 사용자가 항목을 클릭하면 시스템이 수신합니다. 두 경우 모두 CTR을 정확하게 추정하는 것이 핵심입니다. CTR Prediction 같은 경우, 아이템을 추천해주는 것보다는 특정 아이템에 대해서 클릭 여부가 결정하기 때문에, 상대적으로 새로운 아이템에 영..
2022.11.13