분석 Python/구현 및 자료(105)
-
[Python] 이산화된 공간 안에 속하는 좌표 찾기
이전에 했던 작업을 조금 수정하여 다시 올림 아래와 같이 어떤 특정 영역을 표현하는 이산화 된 점이 있을 때 이 영역 안에 들어있는 점들을 찾는 방법에 대한 글이다. coordinate = [(0,0),(2,2),(4,4),(6,2),(6,0),(0,0)] 아래 코드를 통하여 선이 지나가는 grid 한 좌표를 탐색한다. total_grid = [] for idx in range(len(coordinate) - 1): start = coordinate[idx] end = coordinate[idx + 1] discrete_line = list( zip( *line( *start, *end, ) ) ) for i in discrete_line: if i not in total_grid: total_grid...
2022.05.19 -
Python) list와 nested list안에 값을 기준으로 병합하는 코드
이름을 어떻게 해야 할지 모르겠지만, 일단 시작하면 다음과 같은 문제가 있었다. 2개의 list가 있는 데 하나는 그냥 list고 하나는 nested 형태의 list이다. 이 안에는 idx가 있고, 이 nested list에도 idx를 묶어 놓은 list들이 있다. 이 2개를 합치는 작업이 필요해서 고민하다가 나온 결과를 공유한다. 다음과 같은 예시가 있다고 하자. _list = [0,1,5,12,16] _nested_list = [[2,3,4],[6,7,8],[9,10,11],[13,14,15]] 나의 목적은 이 2개를 순서를 유지하면서 합치는 것이 목표이다. [0, 1, [2, 3, 4], 5, [6, 7, 8], [9, 10, 11], 12, [13, 14, 15], 16] 위와 같이 idx의 순서..
2022.05.06 -
Python) 직선 기준 점 대칭 이동 구현
직선과 점이 있을 때 대칭 점을 구하는 파이썬 코드를 구현해봤다. 위의 그림처럼 우리가 하나의 직선을 알고 하나의 점(A)을 알 때 A'를 구하는 방법이다. 실제 구현하는 공식은 다음과 같다. 그래서 우리가 알아야 하는 것은 2개이다. 바로 점의 좌표와 직선의 방정식을 구하면 된다. def get_symmetry_point(two_point,one_point): dx, dy = np.array(two_point[0]) - np.array(two_point[1]) w = dy / dx b = two_point[0][1] - w * two_point[0][0] x1, y1 = one_point[1] new_x0 = x1 - 2 * w * (w * x1 - 1 * y1 + b) / (w**2 + 1) new_..
2022.04.29 -
Python) 고객 생애 가치(CLV) 예측하기
고객 생애 가치를 예측할 때는 기존 회귀 모델 방식보다는 다른 특정 가정을 사용하고 있는 모델을 사용해야 한다. lifetimes이라는 패키지를 사용하는 예시를 해보고자 한다. 고객 생애 가치(CLV)는 고객이 인수부터 비즈니스와의 관계가 종료될 때까지 지출할 총금액입니다. 참고 부탁드립니다. 2022.03.17 - [분석 Python/구현 및 자료] - Python) 고객 생애 가치(CLV)에 대해서 알아보기 예측(Prediction)과 Calculation(계산)에 차이는 무엇일까요? CLV를 계산할 때, 오로지 현재 상황을 조사하고 분석만 할 수 있습니다. 그래서 우리는 고객에 새로운 상품을 살 때나 특정한 한계에 도달했을 때 추측할 수가 없습니다. 예측을 통해 우리는 기계 학습을 프로세스에 추가하..
2022.03.17 -
Python) 고객 생애 가치(CLV)에 대해서 알아보기
도입부 CLV 또는 LTV로 부르는 ‘고객 생애 가치’는 고객이 비즈니스에 기여한 금전적 가치를 가리키는데, 회사가 얼마나 수익성이 있을지 또는 신규 고객을 확보하기 위해 얼마나 많은 비용을 지출할 수 있는지를 이해하는 데 중요한 지표입니다. 고객생애가치(Customer Lifetime Value (CLV))는 고객이 인수부터 비즈니스와의 관계가 종료될 때까지 지출할 총 금액입니다. 즉 개별 고객이 창출하는 비즈니스 가치를 말해줍니다. 고객 관계(Customer Relationships)가 수익성이 있는지 판별하고자 CLV를 사용합니다. 제품, 마케팅, 광고, 영업 팀은 CLV를 기준으로 수익성을 유지하면서 고객 확보, 참여, 유지에 얼마의 비용을 투여할 것인지 결정합니다. CLV를 계산하려면 몇 가지를..
2022.03.17 -
Python) pydantic 알아보기
개인적으로는 dataclass가 namedtuple를 쓰다가 불편해서 사용하고 있었는데, 이 dataclass에서는 데이터 검증 부분이 없다고 한다. 그래서 우연히 pydantic을 알게 돼서 pydantic에 대해 정리해보고자 한다. Python Type Hint를 사용한 데이터 유효성 검사 및 설정 관리에 대해서 설명하고자 합니다. 여기서는 pydantic이라는 패키지를 사용해봅니다. pydantic은 validation library가 아닌 parsing 라이브러리리입니다. 유효성 검사는 제공된 유형 및 제약 조건을 준수하는 모델을 구축하는 목적을 위한 수단입니다. 즉, pydantic은 입력 데이터가 아닌 출력 모델의 유형과 제약 조건을 보장합니다. 우선 데이터 검증이 뭔지부터 살펴봅니다. Wha..
2022.03.14 -
Python) Google Calendar API 사용 방법
Python에서 Google Calendar API를 사용하여 내 계정의 이벤트를 가져오는 것을 해보고자 한다. 일단 구글 캘린더 API를 사용하기 위해서는 Open API를 인증받아야 한다. 일단 다른 글들을 따라가면서 순서대로 캡처한 것을 보여주면서 진행하려고 한다. 그래서 뭔가 중간 중간에 보안적인 문제가 있을 수 있으니 주의하시길 바란다. API 인증 받기 1. 로그인 및 프로젝트 생성 https://console.cloud.google.com/?pli=1 Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com 위의 URL로 들어가서 구글 로그인을 하고 하나의 프로젝트를..
2022.02.12 -
Python) 기념일 관리하기 및 구글 캘린더에 등록할 템플릿 만드는 코드
아래 github를 참고해주세요! 계속 진행중입니다. https://github.com/sungreong/PyKorAnniversary GitHub - sungreong/PyKorAnniversary: 파이썬을 활용하여 한국 기념일 관리하기 파이썬을 활용하여 한국 기념일 관리하기. Contribute to sungreong/PyKorAnniversary development by creating an account on GitHub. github.com
2022.02.12 -
Python) Permutation Importance 다양하게 표현하는 방법
해당 파일에 함수를 정리하였습니다. In [26]: from IPython.core.display import display, HTML display(HTML("")) /tmp/ipykernel_3209568/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 참고¶ 해당 코드를 기반으로 정리한 코드입니다. https://github.com/cerlymarco/MEDIUM_NoteBook/blob/master..
2022.01.31 -
Python) Sphinx를 사용하여 문서화하기 + Github Pages + Gitlab
목차 Introduction Python에서 문서화를 해볼 때 시도 해본 것을 간단하게 정리해보고자 합니다. 실험했던 코드나 문서화한 파일을 공유합니다. 해당파일을 참고해서 작성해주시길 바랍니다. 여기서는 github과 gitlab에 페이지를 올리는 방법에 대해서 소개한다. 간단한 예제들도 올렸으니, 궁금하신 분들은 확인하시면 될 것 같다. Github https://github.com/sungreong/sphinx-test GitHub - sungreong/sphinx-test: sphinx 테스트 해보기 sphinx 테스트 해보기. Contribute to sungreong/sphinx-test development by creating an account on GitHub. github.com ht..
2022.01.26 -
Python) featuretools를 사용한 자동 변수 생성
목차 featuretools 버전 1.4.0을 기준으로 작성합니다. 예제 코드에서도 현재 1.4.0을 반영하지 않은 예제만 있다 보니, 그대로 실행하는 데 어려움이 있었고, 간단하게 변수 생성을 해보면서 정리를 해보고자 함. home-credit-risk data(https://www.kaggle.com/c/home-credit-default-risk/data) 패키지 설치 pip install featuretools==1.4.0 Featuretools Featuretools는 자동화된 기능 엔지니어링을 수행하기 위한 오픈 소스 라이브러리 Feature 생성 프로세스를 빠르게 진행하여 기계 학습 모델 구축의 다른 측면에 더 많은 시간을 집중할 수 있도록 설계된 훌륭한 도구입니다. 즉, 데이터를 "머신 러..
2022.01.22 -
Python) most frequent speed test
파이썬에서 최빈값을 계산하기 위해서 여러가지 테스트를 수행해봤다. 목차 functions import numpy as np import collections from scipy.stats import mode import concurrent.futures from joblib import Parallel, delayed def numpy_most_frequent(x) : values, counts = np.unique(x, return_counts=True) ind = np.argmax(counts) return values[ind] def counter_most_frequent(x) : return collections.Counter(x).most_common()[0][0] def stats_most_..
2021.12.24