일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- XAI
- requests
- UDF
- 상관관계
- grad-cam
- API Gateway
- session 유지
- chatGPT
- Airflow
- GCP
- youtube data
- GenericGBQException
- API
- gather_nd
- login crawling
- 공분산
- correlation
- tensorflow text
- spark udf
- Retry
- TensorFlow
- Counterfactual Explanations
- hadoop
- airflow subdag
- flask
- top_k
- BigQuery
- integrated gradient
- subdag
- 유튜브 API
- Today
- Total
목록전체 글 (424)
데이터과학 삼학년

TextRank for Text Summarization - extractive approach and is an unsupervised graph-based text summarization technique. Summarization 방법 1. Extractive - document내에서 가장 영향력이 큰 문장n개를 추출하여 요약을 구성 - 별도로 label된 summary dataset(ground truth)가 없어도 가능 - TextRank, LexRank 등 - ex) summary = 문장1, 문장2, 문장3 2. Abstractive - 전체 문장에 대해 미리 label된 summary문을 가진 데이터를 이용해 seq-seq model로 추출 - attention mechanism, gnn..

pandas를 이용한 데이터 분석을 하다보면 간단한 함수를 적용하여 새로운 컬럼을 생성하는 것은 매우 흔한일이다. 예를 들면 아래 코드 예시처럼 커스텀 function이나 lambda를 이용하여 원하는 형태의 컬럼을 생성한다. def detect_language(text): """Detects the text's language.""" translate_client = translate.Client() result = translate_client.detect_language(text) return result["language"] # 해당 메시지가 어느나라 언어인지 확인하는 컬럼 생성 df['langauge']= df['message'].apply(detect_language) # 메시지 길이 산정 d..

Knowledge Distillation - 복잡한 딥러닝 모델을 경량화된 디바이스에서 사용할때 보다 낮은 메모리를 사용하면서, 정확도는 어느 수준 이상인 모델이 필요함 - 복잡한 딥러닝 모델 (teacher model)은 많은 수의 파라미터를 가지고 있다. 이러한 학습치(지식)를 경량화 모델(student model)에 전달해주는 즉, transfer해주는 개념 - 즉, 높은 정확도를 갖는 딥러닝 모델을 이용해, Teacher 모델의 loss function과 student model의 loss function을 결합시킨 distillation loss+Student model loss를 최소로 하도록 student model을 학습시키면 경량화 모델일지라도, 복잡한 모델의 일부 지식을 넘겨받아 비교적..

텔레그램봇을 이용한 텔레그램 챗 수집은 두가지 조건이 있다. 1. 해당 챗방에 봇 초대 2. 봇이 관리자 권한 획득 하지만 위와 같은 상황으로 텔레그램봇을 이용해 데이터를 수집하지 못한다면... 직접 챗방에 들어가 chat data를 export할 수 있다. [텔레그램챗 수집] 1. 먼저 telegram desktop을 다운받고 설치한다. 2. 원하는 챗방에 들어가서 오른쪽 상단의 설정을 누르면 대화 내보내기(export)가 있다. 해당 버튼을 클릭하면, 3. 내보내기를 원하는 파일형태와 기간을 설정할 수 있다. 4. 내보내고 나면 챗의 경우는 .html 파일로 받아볼수 있고, html 파서를 이용하여 데이터를 수집하면 된다. 5. html 파일을 파서하여 원하는 데이터를 수집한다. [html 파일] [..

의사결정나무, 혹은 여러개의 의사결정 나무를 가진 Random Forest에서 어떻게 트리를 만들어내고, 어떻게 Feature importance가 계산되어 나오는지 확인하려 한다. Decision Tree 의사결정 나무는 어떻게 dataset들을 분리시키고, 타겟을 예측할지 학습한다. 여기서, 의사결정나무가 어떻게 가지를 치는지(splitting) 여러 과정들이 있다. (ID3, CART) 1. ID3 - information gain을 최대화시키는 카테고리컬 feature를 찾는 것으로, numeric features는 다룰수 없고 오직 분류문제에만 해당한다. 2. CART (Classification and Regression Trees) - categorical, numeric features 모..
import pandas as pd data = {'name':['michael','louis','jack','jasmine'], 'grades':[90,80,70,60], 'result':['N/A','N/A','N/A','N/A']} df = pd.DataFrame(data,columns=['name','grades','result']) # name grades result #0 michael 90 N/A #1 louis 80 N/A #2 jack 70 N/A #3 jasmine 60 N/A # grades 값이 90 이라면 result 는 'A' df.loc[df['grades'] == 90, 'result'] = 'A' # grades 값이 80 이라면 result 는 'B' df.loc[df['..

데이터 과학에서 단연 제일 잘알려지고, 많은 사람들이 사용하는 것이 pandas라고 해도 과언이 아니다. 이 pandas를 조금 더 빠르고 효율적으로 사용할 수 있는 방법에 대해 소개하려 한다. 바로 Modin 이다. Pandas 의 한계 pandas는 상대적으로 매우 큰 데이터셋에서 다루는데 비 효율적이며(메모리문제), 구조적으로 paralleizing이 어려운 구조를 가지고 있다. 그 이유는 아래와 같다. 1. single-threaded : multiple cores를 사용하기 어렵다는 것을 의미 2. in memory 기반으로 작동 : out-of-memory erro를 종종 경험할 수 있음 왜 pandas는 parallizing이 어려운가? pandas 의 600여개가 넘는 functions들을..
개발을 하다보면 내가 짠 코드가 의도에 맞게 잘 작동하는지를 한번씩 점검할 필요가 있다. 개발하는 파일마다 그때그때 테스트를 하면서 완료할 수도 있지만, 대규모의 프로젝트로 .py\ 파일이 많아진다면 테스트가 조금 성가실 수 있다. pytest를 이용하면, 접두사 test_ .py or 접미사 _test.py 가 붙은 파일들을 자동으로 가지고와 해당 파일을 실행하고, 실행된 결과에 대해 확인할 수 있다. # content of test_sample.py def inc(x): return x + 1 def test_answer(): assert inc(3) == 5 pytest를 실행시키면, 아래와 같은 결과가 나온다. $ pytest =========================== test sessio..