전체 글

etc/그로스마케팅

리텐션 (2) Rolling Retention

시리즈가 처음이신 분들은 아래 링크에서 이전 포스팅을 먼저 봐주세요 :D 다음과 같은 것들을 알 수 있습니다! 1. 리텐션이 뭔지 2. 왜 AARRR 중에 가장 중요하다고들 하는지 3. 과연 '방문'만이 리텐션을 측정할 수 있는 기준일지 클래식 리텐션의 한계 롤링 리텐션을 계산해보기 전에, 클래식 리텐션의 한계에 대해서 짧게 복습해보겠습니다. 사용자 12/01 (Day 0) 12/02 (Day 1) 12/03 (Day 2) 12/04 (Day 3) 12/05 (Day 4) 12/06 (Day 5) A 방문 방문 방문 방문 방문 B 방문 방문 C 방문 방문 D 방문 방문 E 방문 우리는 앞에서 202X년 12월 1일에 가입한 사용자 A, B, C, D, E가 있다고 가정했습니다. 그리고 위 표와 같이 사용..

etc/그로스마케팅

리텐션 (1) Classic Retention

그로스해킹의 대표적인 분석 프레임워크로 AARRR을 많이 사용합니다. AARRR은 다음과 같은 유저의 서비스 이용 사이클을 체계화한 프레임워크입니다. 사용자 획득 ➡ 신규 사용자가 서비스를 사용하기 시작 (사용자 활성화) ➡ 지속적으로 서비스를 사용 (사용자 유지) ➡ 구매 ➡ 다른 사용자에게 추천 ➡ 새로운 사용자 획득 A : Acquisition (사용자 획득) A : Activation (사용자 활성화) R : Retension (사용자 유지) R : Revenue (매출) R : Referral (전파) 흔히 이렇게 깔대기 모양으로 많이 그립니다. 위에 사용자 획득 구간에 유저가 가장 많고, 아래 단계로 내려갈수록 유저가 적어지는 구조를 (대체로) 가지기 때문입니다. 리텐션이 중요한 이유 본 포스..

etc/머신러닝 이론

문자 카테고리형 데이터 처리 (Label Encoding, One-Hot Encoding)

머신러닝 알고리즘은 문자열 데이터 속성을 입력받지 않으며 모든 데이터는 숫자형으로 표현되어야 한다.따라서 문자형 카테고리형 속성은 모두 숫자 값으로 변환/인코딩 되어야 한다. scikit-learn을 사용한 변환 방식에는 대표적으로 2가지가 있다. 레이블 인코딩 (Label Encoding) 원-핫 인코딩(One-Hot Encoding) 이 두 가지의 차이점을 한눈에 살펴보면 다음과 같다. 이제 자세히 하나씩 살펴보자. 레이블 인코딩 (Label Encoding) Label Encoding은 feature의 유형에 따라 숫자를 부여한다. 수행 방법 from sklearn.preprocessing import LabelEncoder items=['트와이스','BTS','레드벨벳','신화','GOD','GO..

etc/머신러닝 이론

머신러닝 회귀 모델의 성능 평가 지표 (MAE, MSE, RMSE, R-squred)

회귀모델을 평가하는 평가지표 회귀모델은 그 모델이 잘 학습되어졌는지 확인하기 위한 회귀모델의 평가지표들이 4가지 있다. 이를 하나씩 살펴보자. MAE(Mean Absolute Error) 모델의 예측값과 실제값의 차이의 절대값의 평균 절대값을 취하기 때문에 가장 직관적으로 알 수 있는 지표이다. (해석에 용이하다.) 절대값을 취하기 때문에 모델이 Underperformance(실제보다 낮은 값으로 예측)인지 Overperformance(실제보다 높은 값으로 예측)인지 알 수 없다. from sklearn.metrics import mean_absolute_error mean_absolute_error(y, y_pred) MSE(Mean Squared Error) 제곱을 하기 때문에 MAE와는 다르게 모델..

etc/머신러닝 이론

머신러닝 분류 모델의 성능 평가 지표 (Accuracy, Recall, Precision, F1)

분류를 수행할 수 있는 기계 학습 알고리즘을 만들고 나면, 그 분류기의 예측력을 검증/평가 해봐야 한다. 모델의 성능을 평가하려면 모델을 생성하기 전부터 애초에 데이터를 학습 세트와 평가 세트로 분리해서, 학습 세트로 모델을 만들고 평가 세트로 그 모델의 정확도를 확인하는 절차를 거친다. (자세한 내용은 이 포스팅을 참고) 그런데 분류 모델 성능 평가 지표를 소개하기 전에 정답을 맞히거나 틀리는 경우의 수들을 먼저 이해해야 한다. True Positive : 실제 Positive인 정답을 Positive라고 예측(True) True Negative : 실제 Negative인 정답을 Negative라고 예측 (True) False Positive : 실제 Negative인 정답을 Positive라고 예측 ..

etc/머신러닝 이론

K-Means++ 클러스터링 쉽게 이해하기

이전 포스팅에서 K-Means 클러스터링의 개념이나 원리를 다뤘다. K-Means 클러스터링 알고리즘은 소개된지 거의 반세기가 지났지만, 여전히 머신러닝에 가장 널리 사용되는 클러스터링 알고리즘 중 하나이다. 그러나 K-Means 알고리즘의 가장 큰 단점은 처음에 지정하는 중심점(centroid)의 위치를 무작위로 결정하기 때문에 최적의 클러스터로 묶어주는 데에는 한계가 있다는 것이다. 그래서 이번에는 K-Means의 새로운 버전이라고 할 수 있는 K-Means++ 알고리즘에 대해 살펴보려고 한다. K-Means++는 전통적인 K-Means의 문제, 즉 중심점 무작위 선정의 문제를 해결하기 위해 생겨난 거라고 보면 되겠다. K-Means++ 클러스터링의 원리 전통적인 K-Means는 아래와 같은 원리로 ..

etc/머신러닝 이론

K-Means 클러스터링 쉽게 이해하기

본 포스팅에서는 데이터 클러스터링(군집화)로 널리 사용되는 비지도학습 알고리즘 K-Means 클러스터링에 대해 최대한 쉽게 설명해보고자 한다. 파이썬 라이브러리 scikit-learn 사용법도 간략히 소개한다. 클러스터링, 군집화란 무엇인가 만약 우리가 다루는 데이터에 '레이블'이 붙어 있다면 지도학습, 즉 미리 가지고 있는 데이터와 레이블을 기반으로 예측이나 분류를 수행하는 모델을 만들 수 있다. 그러나 실제로는 레이블(분류)이 없는 경우가 더 많다. 물론 이렇게 별도의 레이블이 없는 데이터 안에서 패턴과 구조를 발견하는 비지도 학습도 머신러닝의 큰 축이고, 그 중 가장 대표적인 비지도 학습 기술이 바로 Clustering(군집화)이다. 참고로 지도학습 Classification(분류)과 엄연히 다른 ..

etc/머신러닝 이론

랜덤 포레스트(Random Forest)

이전 포스팅에서 분류에 널리 사용되는 머신러닝 알고리즘 의사결정나무(Decision Tree)에 대해 알아보았다. 의사결정나무는 매우 훌륭한 모델이지만, 학습 데이터에 오버피팅하는 경향이 있다. 가지치기(pruning)같은 방법을 통해 그런 부작용을 최소화하는 전략이 있긴하나 역시나 좀 부족하다. 그래서 본 포스팅에서는 의사결정트리의 오버피팅 한계를 극복하기 위한 전략으로 **랜덤 포레스트(RandomForest)라는 방법을 아주 쉽고 간단하게 소개하고자 한다. 내용이 짧으니 후딱 살펴보자. 랜덤 포레스트란 랜덤 포레스트는 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종으로, 훈련 과정에서 구성한 다수의 결정 트리로부터 분류 또는 평균 예측치(회귀)를 출력함으로써 동작한다. ('무작위 숲'이라는..

hyesoup
공부하는 짱구