Study16 [DBeaver] RFM 분석 RFM 분석이란?Decile 분석은 데이터에 기간이 포함되지 않는데, 이로 인해 문제점이 존재한다.데이터를 장기간으로 볼 경우, 과거 우수 고객이였던 현재 휴면 고객이 포함될 수 있다.데이터를 단기간으로 볼 경우, 정기적으로 오랜 기간 구매하는 고객보다 일시적으로 많이 구매한 고객이 우수한 고객으로 판단될 수 있다.Decile의 문제점을 보완하기 위해 만들어진 분석이 RFM 분석.R(Recency, 최근 구매일), F(Frequency, 구매 횟수), M(Monetary, 구매 금액 합계) 3가지 변수를 통해 고객을 분류하는 방법일반적으로 각 고객을 4개 또는 5개의 그룹으로 나눠서 사용한다.Ex)항목 점수R : 최근 구매일F : 구매 횟수M : 누적 구매 금액57일 이내20회 이상300만원 이상414일.. 2025. 1. 5. [DBeaver] Decile 분석 Decile 분석이란?고객의 세분화를 위해 사용되는 기초적인 방법데이터를 10단계로 분할해서 중요도를 파악하는 방법, 주로 매출을 기반으로 나눠서 파악한다.이후 단계에 따라 어떤 구매 특성을 가지고 있는지 부가적인 지표를 더해서 분석한다. Decile 분석 과정(1) 사용자별 매출을 계산한다.(2) 가장 높은 금액을 기준점으로 10개의 집단을 나눈다.(3) 전체 구매 금액에 대해 각 집단(Decile)의 구매 금액 비율을 계산한다.(4) 상위에서 누적으로 어느 정도의 비율을 차지하는지 구성비 누계를 집계한다. DBeaver - MySQL을 사용하여 실습(1) 사용자별 매출을 계산한다.SELECT o.customer_id, SUM(o.sale_total) AS c_total_salesFROM o.. 2025. 1. 5. [solvesql] 2단계 쿼리문제 해결 업로드가 좀 늦은 감이 있는데, 일이 좀 많았어서...ㅎㅎ.. 이번 2단계 문제는 총 11개였고 대부분 JOIN, CASE/IF를 써야하는 문제들이 많았다. 사진에 있는 문제를 세보면 10개인 것을 알 수 있다. 그렇다. 1문제는 못풀었다.. 정답률은 다른 문제들보다 많이 높았는데, SQLite를 안써봐서 그런가 라는 핑계를 대본다. 한번 오답노트를 적어보도록 하겠다. 문제는 아래 링크와 같다.https://solvesql.com/problems/bad-finedust-measure/ https://solvesql.com/problems/bad-finedust-measure/ solvesql.com [문제]서울숲 일별 평균 대기오염도 데이터셋은 2022년 서울숲 대기오염도 측정소에서 매일 기록한 .. 2024. 12. 2. [혼자 공부하는 머신러닝 + 딥러닝] 주성분 분석 차원과 차원 축소 머신러닝에서는 데이터가 가진 속성을 차원(Dimension)이라고 부릅니다.예로 들어 사진의 픽셀이 10,000개면 현재 이 사진은 10,000개의 차원이라고 할 수 있습니다.더보기여기서 잠깐!1차원 배열, 즉 벡터일 경우에는 원소의 개수가 차원이 됩니다.2차원 배열일 때는 행과 열이 차원이 됩니다.즉, 다차원 배열에서 차원은 배열은 축 개수가 됩니다.만약 이 차원을 줄일 수 있다면, 저장 공간은 크게 절약할 수 있을 것입니다.이를 위해 비지도 학습 작업 중 하나인 차원 축소(Dimensionality Reduction) 알고리즘을 다루어 보겠습니다.차원 축소는 데이터를 가장 잘 나타내는 일부 특성을 선택하여 데이터 크기도 줄이고 지도 학습 모델의 성능도 향상시킵니다.또한 손실을 최대한.. 2024. 12. 2. [혼자 공부하는 머신러닝 + 딥러닝] k-평균(K-Means) 전 게시글에 이어서 사과, 파인애플, 바나나 사진을 가지고 하겠습니다.만약, 비지도 학습에서 각 과일의 평균을 구하라고 하면 구할 수 있을까요?정답은 "할 수 없습니다" 입니다.왜냐하면 어떤 사진에 어떤 과일이 있을지 모르기 때문입니다.그렇다면 어떻게 평균값을 구할 수 있을까요? k-평균(K-Means) k-평균(K-Means) 군집 알고리즘은 평균값을 자동으로 찾아줍니다.이 평균값이 클러스터 중심에 위치하기 때문에 클러스터 중심(cluster center) 또는 센트로이드(centroid)라고 부릅니다. k-평균 알고리즘의 작동 방식은 다음과 같습니다. 1. 무작위로 k개의 클러스터 중심을 정한다.2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정한다.3. 클러스터에 .. 2024. 11. 27. [수리통계학] 1장. 확률분포 드디어 수리통계학 1장을 끝냈다. 노트에 정리하고 다시 복습하는 겸 노션에 정리하는데 조금 힘들었다.(수식 자체를 쓰기가 너무 어려워서.. GPT에다가 공식을 글로 적은 뒤에 수식을 받아서 복붙하는 방식으로..) 사실 처음에는 블로그에다가 게시를 하려 했지만 저작권이 무서웠기 때문에 따로 노션으로 적는 방식을 선택했다. 1장에서는 학교 수업 때 배운 내용들이 대부분이였다.그래서 내용도 무난무난, 문제도 무난무난했다.내용은 확률, 조건부 확률, 확률분포, 기댓값, 분산, 확률분산, 누적분포함수 내용이 주를 이뤘다. (이정도는 괜찮겠지..?) 이제 2장을 하러..! 2024. 11. 25. [혼자 공부하는 머신러닝 + 딥러닝] 군집 알고리즘 만약 타깃을 모르는 사진을 종류별로 분류하려 한다면 어떤 머신러닝 알고리즘을 써야 할까요?바로 비지도 학습(Unsupervised learning)입니다. 한번 실습해보면서 알아보겠습니다. 데이터 준비 전과는 다르게 이번에는 과일 데이터를 사용해보겠습니다.과일 데이터는 사과, 바나나, 파인애플을 담고 있는 흑백 사진입니다. 이 배열의 첫 번째 차원(300)은 샘플의 개수, 두 번째 차원(100)은 이미지 높이, 세 번째 차원(100)은 이미지 너비입니다.즉, 이미지 크기는 100 x 100이고 각 픽셀은 넘파이 배열의 원소 하나에 대응합니다.이는 곧, 배열의 크기가 100 x 100이라는 걸 알 수 있습니다. 한번 첫 번째 이미지의 첫 번째 행을 출력해보겠습니다. 이 넘파이 배열은 흑백 사진을.. 2024. 11. 13. [DuckDB] 0. DuckDB에 대하여 요즘 관심이 생긴 툴이 있다. 바로 DuckDB라는 것이다. 요즘 회사에서 데이터 베이스 설계를 하면서 SQL에 관심이 더 생기게 되었었는데, 마침 인프런(현재 게시글에 있음!)에 있는 강의를 들으면서 DuckDB에 대해서 알게 되었다. 단순히 찾아봤을 때 내가 자주 다루는 csv 파일이라던지 jupyter notebook이랑도 잘 연동된다고 해서 한번 공부를 해보려고 한다! 근데, 아쉬운 점이 한글판으로 나온 도서가 없다는 것이다. (못찾는 것일지도..) 그래서 공식 사이트와 각종 사이트 등을 읽으며 하나하나 공부를 해볼 예정이다! DuckDB란?임베디드 분석 데이터베이스로, 대규모 데이터 처리를 로컬 환경에서도 빠르고 효율적으로 수행할 수 있도록 설계된 시스템SQLite와 비슷하게 작동하고, 주로.. 2024. 11. 12. [혼자 공부하는 머신러닝 + 딥러닝] 트리의 앙상블 지금까지 다루었던 데이터를 돌아보면 전부 다 정형 데이터(Structured data)였습니다.그리고 지금까지 배운 머신러닝 알고리즘은 정형 데이터에 잘 맞는 알고리즘이였습니다.그 중에 사이킷런에서 제공하는 정형 데이터의 끝판왕인 앙상블 학습 알고리즘을 알아보겠습니다. 랜덤 포레스트(Random Forest) 랜덤 포레스트는 앙상블 학습의 대표 주자 중 하나로 안정적인 성능 덕분에 널리 사용되고 있습니다.앙상블 학습을 적용할 땐 가장 먼저 랜덤 포레스트를 시도해 보길 권합니다. 이름처럼 랜덤 포레스트는 결정 트리를 랜덤하게 만들어 결정 트리(나무)의 숲을 만드는 것입니다.그리고 각 결정 트리의 예측을 사용해 최종 예측을 만듭니다. 그럼 어떻게 숲을 구성하는지 관찰해보겠습니다.예를 들어 1,000개 .. 2024. 11. 11. 이전 1 2 다음