Python 38

Precision vs Recall

Precision and Recall in an anomaly detection situation reference : Classification : Precision and Recall 분류성능평가지표 - Precision(정밀도), Recall(재현률) and Accuracy(정확도) Examples : Anomaly Detection 실제 이상 징후 : 1 실제 정상 징후 : 0 Timeseries1112131415161718192022232425 Actual-Anm 0 0 0 0 0 0 0 0 0 1 0 1 1 1 threshold > Detect_Anm 0 0 0 0 0 0 0 0 0 0 0 1 1 1 True-Pstv T T T False-Ngtv F True-Ngtv T T T T T T T..

sklearn - RFE

RFE (recursive feature elimination) Reference : Python 데이터 분석 실무 04-06.모델 성과 개선 (WikiDocs) Simple, yet, Powerful Bankrupt Prediction Model sklearn.feature_selection.RFE, scikit-learn.org RFE는 주요 Feature를 선별해내는 기법 중 하나로 이름(Recursive feature elimination) 그대로 '반복적으로 feature를 제거해나가는' 방식이다. 대표적인 머신러닝 라이브러리 sklearn에서는 feature_selection 모듈을 제공한다. RFE는 아래와 같이 해당 모듈에서 import 할 수 있다. from sklearn.feature_..

sklearn - RandomForestClassifier

Random Forest reference: Random Forest(랜덤 포레스트) 개념 정리 sklearn.ensemble.RandomForestClassifier Bagging(Bootstrap aggregating) 모집단(데이터셋)에서 부분집합 형태로 임의의 N개를 추출하여 트리 하나를 만든다. 추출한 N개는 다시 넣어서 모집단 원본을 만들고, 또 다시 임의의 N개 데이터를 추출하여 두 번째 트리를 만든다.(실제로 데이터를 다시 넣지는 않는다. 중복을 허용한다는 의미로 서술) max_features 파라미터를 통해 feature는 최대 몇개를 샘플링하여 트리를 구성할 지 정의할 수 있다. 전체 트리 결과값이 나오면 가장 분포가 많은 값이 RandomForestClassifier 모델의 최종 결과..

pandas - melt()

pandas.melt reference document : pandas.melt melt() 함수는 표현처럼 데이터프레임을 마치 '녹이는' 것처럼 재구성한다. 기존의 열(columns) 이름을 값(values)으로 내려 각각의 행(index)에 열 이름과 각각 해당하는 값을 나열해서 보여준다. import pandas as pd df = pd.DataFrame({ 'id': ['201','873','385','505'], 'type':['A','B','C','D'], 'count':[8,8,6,2] }) print(df) idtypecount 0 201 A 8 1 873 B 8 2 385 C 6 3 505 D 2 위 데이터프레임에서 type 컬럼은 A,B,C,D 라는 4가지 값을 가지고 있다. melt(..

pandas - forward fill

df.ffill() reference: pandas.DataFrame.ffill(pandas.pydata.org) Python pandas - 결측값 채우기 ... Python | Pandas dataframe.ffill() Pandas DataFrame ffill() Method 머신러닝 모델은 결측치가 존재하는 데이터프레임을 받아들이지 못한다. 따라서 데이터 전처리 과정에서는 반드시 NaN 값을 체크하고 해당 결측치를 특정 값으로 대체하거나 해당 결측치가 포함된 열 혹은 행을 제거해야 한다. 그러나 열 혹은 행을 제거한다면 중요한 데이터 소스를 잃어버리게 된다. 이를 감수할 만큼 해당 데이터 열 혹은 행이 유의미하지 않다면 무관하나 유의미하다면 제거하기보다 새로운 값으로 대체하는 것이 좋겠다. 결측치..

Elastic Stack 활용 서울시 상권 매출 대시보드 구축 - (1) elastic search, kibana

데이터 파이프라인 구축 (1)에서 csv 파일의 텍스트 전처리가 필요했다. 해당 부분부터 이어서 kibana 대시보드 작업까지 진행한다. 지난 글에서 작성했지만, 작업환경과 파이프라인 flow도 다시 보자. """ 작업 환경: Macbook Pro 2019 - i9, 16GB GCP 가상 머신 4대 할당(e2-small 3대 + e2-medium 1대) 가상 머신 1대에 클러스터 1개 배치(클러스터당 노드도 1개씩) filebeat 설치(Local) logstash 설치(Local) elastic search 설치(e2-small 3개 각각 설치) kibana 설치(e2-medium 1대에 설치) 데이터: 서울시 상권 추정 매출(서울시 열린 데이터 광장 제공) 구축할 데이터 파이프라인 Flow: Beat..

pandas - reset_index()

reset_index(drop=True) 자꾸 까먹어서 적어놓는다. 데이터전처리가 끝난 후, 혹은 중간에 데이터 정리가 필요한 경우 reset_index()는 유용하게 사용된다. reset_index() 는 마치 엑셀, 구글스프레드시트의 고정된 index 번호처럼 0부터 순서대로 index를 정리해주는 함수다. 아래와 같은 과일의 특징을 정리한 데이터프레임이 있다고 해보자. print(df) x1 x2 x3 x4 Apple 1 1 0 0 Banana 1 0 1 1 Kiwi 0 1 1 0 reset_index() 함수를 사용해보면, 인덱스가 다시 정리되고 기존의 index는 새로운 '열'로 추가된다. print(df.reset_index()) index x1 x2 x3 x4 0 Apple 1 1 0 0 1..

딥러닝 Multiple-Object Detection

Multiple-Object Detection - Type A reference : Multiple-Object Detection (1) : R-CNN Multiple-Object Detection (2) : SPP-Net Multiple-Object Detection (3) : Fast R-CNN 갈아먹는 Object Detection [1] R-CNN 갈아먹는 Object Detection [2] Spatial Pyramid Pooling Network 갈아먹는 Object Detection [3] Fast R-CNN 갈아먹는 Object Detection [4] Faster R-CNN Multiple Object Detection의 동작 방식은 Region Proposal과 Classificatio..

과거 주가 데이터로 미래 주가를 예측할 수 있을까? - 파이썬 시계열 패턴 검색

Step 0. 패턴 검색 이번에는 현재 차트와 유사한 차트를 찾아서 매매에 활용하는 패턴 검색을 파이썬으로 구현해보자. 패턴 검색은 과거 주가에서 현재 주가와 유사한 패턴을 관측한 다음, 과거 주가 이후의 흐름을 확인하는 것을 통해 앞으로의 주가를 예상해보는 방식이다. Step 1. 코스피 종가 가져오기 2010년부터 현재까지의 데이터를 스크리닝한다. 즉, 유사한 패턴을 관측하는 가장 먼 시점은 2010년이다. Step 2. 기준 구간 확인 종가만 추출해서 검색하고자 하는 현재 주가의 패턴을 확인한다. 여기서 현재 주가는 6월 2일까지만 확인한다. 마지막에 6월 2일 이후 주가를 그려보면서 패턴 검색 방식의 예측을 검증해보기 위함이다. 코스피는 올해 1월에 급락 후 횡보하는 모습을 보인다. 이와 유사한 ..

넷플릭스의 콘텐츠 보유 현황과 수급 전략 분석 - 파이썬 비즈니스 데이터 분석

넷플릭스의 콘텐츠 보유 현황과 수급 전략 분석 분석 목표 : 넷플릭스에서 보유한 콘텐츠 현황과 최근 집중하는 콘텐츠 유형을 파악해 넷플릭스의 시장 점유를 위한 콘텐츠 수급 전략을 분석한다. 데이터 출처 : Netflix Movies and TV Shows, Kaggle 참고 사이트 : 영화, TV 관람 등급 표 1. 가설 설정 각 컬럼별 유효 데이터와 결측치 분포를 확인하고, 이에 따라 분석 목표에 도달하기 위한 가설을 설정한다. import pandas as pd import numpy as np import plotly.express as px import plotly.graph_objects as go from plotly.subplots import make_subplots import matpl..

1 2 3 4