본문 바로가기

데이터

[코딩테스트 준비] 코딩테스트 입문자 '코드트리' 사용후기 우연한 기회에 코드트리를 무료로 일정 기간(약 두달)동안 이용해볼 수 있는 기회를 얻었다. 결론부터 말하자면, 현재 코드트리에서 250문제를 해결하였으며, 만족도는 상당히 높아 체험 기간 이후에도 결제할 계획이다. 약 한달간 사용해보면서 느꼈던, 실력 향상에 도움이 되는 코드트리의 장점을 먼저 소개한다. 장점 1. 동기부여 - 코드트리에는 경험치 시스템이 있다. 문제 난이도에 따라 해당 문제를 풀었을 때 획득 경험치가 다르다. 또한 하루 경험치의 할당량을 정해놓고, 할당 경험치를 채웠는 지 매 문제마다 나타내준다. 이는, 경험치를 채우지 않고 끄면 찝찝함을 느끼게 해주어, 한두문제 더 찾아 풀어서 경험치를 채우게 만들어준다. - 물론 하루 할당 경험치는 나의 상황에 맞게 수정이 가능하다. 필자는 하루 1.. 더보기
한국어 사전학습 ELECTRA + 오픈소스 데이터로 돈안드는 긍부정 분류 모델 만들기 - 본 포스트에서는 한국어 댓글로 사전학습된 ELECTRA 모델 kcELECTRA로 파인튜닝하여 긍부정 분류모델을 구축하였습니다. - 데이터는 네이버 쇼핑, 스팀에서 수집한 오픈소스 데이터를 이용하였으며, 레퍼런스에 출처를 기재해두었습니다. - 또한, 본 업로드는 ipynb 파일로 작성한 내용을 업로드 하였는데, 방법이 궁금하신 분들은 아래 링크 참고하시면 되겠습니다. https://woni-log.tistory.com/6 In [6]: from IPython.core.display import display, HTML display(HTML("")) /var/folders/wv/bnpq1s_d23qg2x2m69xg48gc0000gn/T/ipykernel_5937/3510566465.py:1: Depre.. 더보기
tqdm을 라이브러리 사용하여 진행률 시각화하기 tqdm 이란 tqdm은 자동으로 진행 상태를 시각적으로 보여 주는 라이브러리입니다. 코딩을 하면서 가장 많이 사용하는 구문 중 하나는 for문일 것입니다. for문을 사용하면서, 반복을 굉장히 많이 하거나 반복문 내의 프로세스가 복잡하여 시간이 오래 소요될 경우 진행상황을 알기 위해 자주 사용합니다. 진행 상황을 progress bar로 보기 편하게 알려줍니다. from tqdm import tqdm import time my_list = range(200) for item in tqdm(my_list, desc="Processing"): # 작업 내용 time.sleep(0.01) tqdm 사용법 Iterable-based 리스트를 포함한 어떤 이터러블 객체가 오든, tqdm()으로 감싸면 된다. p.. 더보기
구글 애널리틱스 로우데이터를 이용해 구매고객 예측모델 만들기(3/3) - SHAP 모델 해석 저번 포스트를 통해 구글 애널리틱스 로우데이터를 활용해 머신러닝 모델을 개발해보았다. 머신러닝 모델은 단지 성능, 예측력만 중요한 것이 아니다. 예측력이 아무리 좋아도 모델 결과에 대해서 설명할 수 없다면 어떠한 액션도 이끌어 낼 수 없기 때문이다. 따라서, 의사결정자가 모델의 결과를 신뢰할 수 있도록, 그리고 구체적인 액션을 취할 수 있도록 돕기 위해 XAI인 SHAP을 이용해 모델 해석을 진행하였다. XAI 정확성이 높은 모델일 수록, 모델의 내부 구조는 복잡하여 내부를 알 수 없다.(==블랙박스) XAI(Explanable AI, 설명가능한 인공지능) 이러한 모델을 해석하기 위한 방법론을 이야기한다. Model-Agnostic method 모델 종류에 구애받지 않는 XAI의 방법론을 이야기한다. 원.. 더보기
구글 애널리틱스 로우데이터를 이용해 구매고객 예측모델 만들기(2/3) - 모델 학습 머신러닝 중 지도학습 방법을 이용해 구매고객 예측 모델을 학습시켜 보겠다. 코랩 환경에서 진행하면 별도의 환경설정 없이 머신러닝을 해볼 수 있다. 지도학습이란 모델의 입력(input) : x (데이터, 고객들의 속성) 모델의 출력(output) : y (결과값, 고객들의 구매 여부) 지도학습이란, 데이터가 주어질 때(x가 주어질 때) y가 발생하는 상황에 대해서, 복잡한 함수 f(x)를 컴퓨터가 학습하는 것 $y=f(x)$ x와 y의 관계 f(x)를 알면, 어떠한 x가 들어오더라도 y를 예측할 수 있다! 프로세스 학습 데이터셋 불러오기 데이터 전처리 결측치, 이상치 처리 Categorical -> Encoding Numerical -> Scaling 데이터 분배 및 샘플링 Under Sampling, O.. 더보기
구글 애널리틱스 로우데이터를 이용해 구매고객 예측모델 만들기(1/3) - GA 로우데이터 가공 프로세스 설명 구글 애널리틱스는 웹에 유입된 고객들의 event를 분석할 수 있는 툴이다. GA4로 전환되면서 구글 애널리틱스의 Raw data를 무료로 빅쿼리에 적재할 수 있다. 빅쿼리에 적재된 구글 애널리틱스의 Raw데이터를 이용하여, 고객이 구매를 할지, 하지 않을 지 분류하는 binary classifier를 학습하고자 한다. 해당 모델은 고객들의 이벤트를 보고 구매 고객인지, 비구매 고객인지를 예측할 것이고, 우리는 모델이 구매 고객이라고 예측하였으나, 실제로는 구매하지 않은 고객을 ‘잠재구매고객’으로 정의하여 마케팅을 실행할 수 있다. 순서 빅쿼리 로우데이터 추출 코랩으로 학습 하기 예측 수행 빅쿼리 로우데이터 추출 구글애널리틱스의 로우 데이터는 이벤트 발생 시간을 기준으로 적재된다. 고객 기.. 더보기
Deep Learning for AI 아티클 요약 https://dl.acm.org/doi/10.1145/3448250 Deep learning for AI | Communications of the ACM How can neural networks learn the rich internal representations required for difficult tasks such as recognizing objects or understanding language? dl.acm.org - turing lecture에 게재된 아티클인 Deep Learning for AI를 나만의 방식으로 요약해보고자 한다. 무려 Yoshua Bengio, Yann LeCun, Geoffrey Hinton가 함께 쓴 아티클이다. ( Yoshua Bengio, Yann L.. 더보기
[데이터시각화/Plotly] Colopleth로 지도에 정보 시각화하기 Geojson으로 좌표값 불러온 후 geopandas 객체로 선언하기 미국 geojson 다운 받기 from urllib import request url = '' savename = './data/us-states.json' request.urlretrieve(url,savename) print("저장되었습니다.") https://github.com/PublicaMundi/MappingAPI/blob/master/data/geojson/us-states.json json 불러와서 geo 파일 저장 import json with open('./data/us-states.json', 'r') as f: json_data = json.load(f) geo = json.dumps(json_data, inden.. 더보기