분류 전체보기 2

[pandas] query, isin, Boolean_masking 비교

방향 이 글은 데이터 분석에서 일상적으로 사용하는 filter 함수인 query, boolean masking, isin의 성능 비교 및 상황에 맞는 사용 방법에 대해 설명합니다. DataFrame.query() query 매서드는 유용성 대비 사람들이 많이 사용하지 않는 기능인 것 같습니다. 보통 100,000개 이상 row를 다룰 때 성능이 좋다고 알려져있는데, 사실 성능보다는 어떤 조건으로 필터링을 했는지 직관적으로 알 수 있고, 코드를 간결하게 쓸 수 있는 점에서 유용하게 쓰일 수 있습니다. 장점 필터링을 단순하게 표현할 수 있습니다. import pandas as pd import numpy as np # row 100만개, column 3개 df 생성 df = pd.DataFrame(10+60..

ROC Curve와 Precision-Recall Curve 해석

글의 방향 ROC Curve와 Precision-Recall Curve는 classification 모델의 성능을 파악하기 위해 활용됩니다. 일반적으로는 모델 성능을 파악하는 방법으로 예측 정확도(Accuracy)를 활용합니다. 10건 중 8건의 테스트 데이터를 맞추면 정확도가 모델의 80%가 되는 식입니다. 그런데 이 방법에는 문제가 있습니다. 예로들어 왼손잡이와 오른손잡이를 구분하는 예측 모델을 만든다고 생각해 보겠습니다. 대한민국의 오른손잡이, 왼손잡이 분포는 각각 95%, 5% 입니다. 테스트 데이터가 실제 분포를 따른다고 할때, 예측 모델이 모든 데이터를 전부 오른손잡이로 예측했다면 이 모델의 정확도는 95%가 됩니다. 정확도만 보면 엄청난 성능을 보여주는 모델이지만, 실제로는 아무런 쓸모도 없..