본문 바로가기

프로그래밍

(357)
[Python] Matplotlib 그래프에 한글 표시하기 import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'D2Coding' # D2 Coding 폰트가 깔려 있어야 한다. matplotlib 임포트 하는 구문 아래에, 'font.family' 패러미터를 'D2Coding'과 같이 폰트명으로 세팅해 준다. 'Malgun Gothic', 'NanumGothicCoding' 등으로 세팅해 줘도 된다. 본인의 취향에 맞는 폰트를 찾아서 세팅하자. "matplotlib 한글폰트" 로 검색해 보면, 글들이 검색되는데, 복잡하게 생각할 것 없이, 위와 같이 import 구문 아래에 한줄만 기억해 두고 매번 세팅해 주면 별 문제 없이 한글 표시 잘 된다. 주의할 점 몇가지 matplotlib 버전도 최신버전인지..
[번역|SO] 시계열데이터의 이상탐지를 위한 패키지 link : https://datascience.stackexchange.com/questions/32126/looking-for-good-package-for-anomaly-detection-in-time-series 질문 : 시계열데이터에서 이상탐지를 위한 좋은 패키지를 찾는다. 답변1: (2018년 10월) pyod 라는 파이썬 패키지가 있다. ( Pyod ) 이 패키지에는 다음과 같은 알고리즘이 들어있다. 선형모델 (PCA, vMCD, vOne-Class, SVM) 인접성기반 모델 (LOF, CBLOF, HBOS, KNN, AverageKNN, MedianKNN) 확률모델 (ABOD, FastABOD) 앙상블, 조합 프레임워크 (IsolationForest, FeatureBagging) 신경망, ..
[ML|번역] 랜덤포레스트의 기본 변수중요도에 주의하라 랜덤포레스트의 기본 변수중요도에 주의하라 / Beware Default Random Forest Importances link : https://explained.ai/rf-importance/ 요약 scikit-learn 랜덤포레스트의 변수중요도( feature importance) 또는 R의 기본 랜덤포레스트 변수중요도는 편향되어 있다. 파이썬에서 믿을만한 결과를 얻으려면, rfpimp 패키지에서 제공하는 퍼뮤테이션 중요도 (permutation importance)를 사용하라. R에서는 랜덤포레스트 생성시에 importance=T 를 사용하고, importance() 함수에서 type=1 인자를 주라. 더불어, 변수중요도는 모델이 적절한 하이퍼패러미터로 훈련되었을 때에만 믿을 수 있다. 이후 상세한..
[ML|SO번역] 머신러닝에서 Out-of-Fold (OOF) 란? src : https://stackoverflow.com/a/52396238/100093 (K-Fold 크로스 밸리데이션에서) 매 폴드마다 90%의 데이터로 훈련을 하고, 나머지 10%의 데이터에 대해서는 예측을 합니다. 이 10%로 에러 메트릭(예를 들어 RMSE라고 합시다.)을 계산합니다. 이 과정을 통해 결국 남는 것은, 10차례의 각 폴드마다 RMSE 값 하나와 각 10% 데이터셋에 대한 예측치입니다. 이 결과물을 2가지 방법으로 처리할 수 있습니다. 10개의 RMSE 값의 평균과 표준편자를 확인합니다. K폴드는 랜덤으로 데이터를 나누므로, 각 폴드에서 나온 에러값(RMSE)들은 서로 비슷해야 합니다. 만약, 값들이 서로 비슷하지 않다면, 이 때의 모델(피쳐와 하이퍼패러미터들)로는 테스트셋에서 안..
추천시스템 메모 2 1. Recommender Systems - Andrew Ng 1.1. Recommender Systems | Problem Formulation 1.2. Recommender Systems | Content Based Recommendations 알려진 특징들(로맨스, 액션, ...)이 있고, 각 영화에 대해 이 특징들에 대한 점수를 매겨서, 영화를 수치의 튜플로 표현할 수 있다. 사용자들이 이미 매긴 영화들 점수를 가지고, 각 사용자들이 영화의 특징(feature)에 대해 얼마나 선호하는지를 학습하여, 아직 점수를 매기지 않은 영화에 대한 알려진 특징점수와 사용자의 추측된 선호도를 연산하여, 그 영화에 대한 점수를 예측한다. For each user j, learn a parameter theta(j..
추천시스템 메모 추천시스템 Recommend System DEVIEW 2017 : 인공지능 추천 시스템 AiRS 개발기 : 모델링과 시스템 https://tv.naver.com/v/2297146 : 발표영상. https://www.slideshare.net/deview/airs-80886207 : 발표슬라이드. 최재호@네이버나의 필기 추천모델의 종류 stats based collaborative filtering deep learning 통계기반 개인화보다, 글로벌 추천 (10대남성 등등) Chi-Squared Cross-Entropy H(p,q) = - Sum p(x) log q(x) KL Divergence : 에 대한 설명 있는데 이해 못함. 협력필터 (collaborative filtering) - 가장 대표적인..
[Python] Python Profiling 관련 메모 cProfile : 파이썬 표준라이브러리 프로파일러python -m cProfile script.py python -m cProfile -s tottime script.py python -m cProfile -o prof.out script.py 프로파일 시각화 : Visualizing the Results of Profiling Python Code pyprof2calltree pyinstumentpython -m pyinstrument --show-all script.py
[Python] pd.to_datetime 과 datetime.fromtimestamp 의 결과가 다르다. 타임스탬프로 시간이 주어진 데이터가 있는데, 이걸 데이트타임으로 변환하기 위해 다음 두가지 방법을 써 보았는데, 결과가 다르게 나왔다. import time import pandas as pd import datetime t = time.time() # 1562770422.6544123 dt1 = pd.to_datetime(t, unit='s') # dt1 = Timestamp('2019-07-10 14:53:42.654412270') dt2 = datetime.datetime.fromtimestamp(t) # dt2 = datetime.datetime(2019, 7, 10, 23, 53, 42, 654412) 두 결과의 타입이 조금 다르지만, 그걸 무시하고 봐도, 날짜가 같..