본문 바로가기

전체 글523

[Pandas Tip] 오류 해결 - SettingWithCopyWarning 안녕하세요~ 꽁냥이에요. Pandas로 특정 조건에 맞는 행을 추출해서 만든 데이터를 가지고 새로운 칼럼을 만들거나 특정 셀 값을 변경하려고 할 때 종종 SettingWithCopyWarning 경고가 나타나는 것을 알 수 있습니다. 이번 포스팅에서는 이러한 오류가 나는 이유를 예제와 함께 살펴보고 해결방법 또한 소개하겠습니다. SettingWithCopyWarning SettingWithCopyWarning은 Chained Assignment인 경우와 Hidden Chaining의 경우에 따라 해결 방법이 다르므로 각각에 대해서 살펴보겠습니다. 또한 경고창을 끄는 방법도 살펴보겠습니다. 1) Chained Assignment Chained Assignment를 알아보기 전에 Assignment와 Acc.. 2023. 2. 10.
[Matplotlib] 시간에 따른 선 그래프(Line Chart)와 박스 플롯(Box Plot, 상자 수염 그림) 같이 그리기 안녕하세요~ 꽁냥이에요. 박스 플롯이나 선 그래프 둘 다 그 자체로도 훌륭한 시각화 수단이지만 같이 사용하게 되었을 경우 더 많은 정보를 한눈에 보여줄 수 있습니다. 이번 포스팅에서는 Matplotlib을 이용하여 박스 플롯과 선 그래프를 같이 그려보는 방법에 대해서 알아보겠습니다. Matplotlib을 이용한 선 그래프나 박스 플롯을 그리는 방법은 아래 포스팅을 참고해 주세요. [상자 수염 그림(Box and Whisker Plot)] 1. Matplotlib을 이용하여 상자 수염 그림 그리기 [상자 수염 그림(Box and Whisker Plot)] 2. Matplotlib을 이용하여 그룹 상자 수염 그림(박스 플롯) 그리기 [선 그래프(Line graph)] 1. Matplotlib을 이용하여 선 .. 2023. 2. 10.
[Pandas Tip] 오류 해결 - PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead 안녕하세요~ 꽁냥이에요. Pandas 데이터프레임(DataFrame)에 칼럼을 for loop를 이용하여 대량으로 추가한다면 종종 아래와 같은 경고를 볼 수 있습니다. PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead 이번 포스팅에서는 해당 경고가 나오는 이유와 해결 방법에 대해서 알아보겠습니다. PerformanceWarning: DataFrame is highly fragm.. 2023. 2. 3.
파이썬(Python) pickle을 이용한 파이썬 객체 저장 pickle은 파이썬(Python) 내장 모듈로써 파이썬 객체를 객체 자체로 파일로 저장할 수 있게 해주는 모듈이다. 예를 들면 리스트는 리스트로 딕셔너리는 딕셔너리로 저장된다는 것이다. 따라서 불러올 때에도 객체가 보존되어 바로 사용할 수 있다. pickle이 좋은 이유는 기존 text 파일과 비교해 보면 되는데 예를 들어 5GB짜리 text 파일을 읽어 온 다음 이 중에서 여러 곳에 흩어져 있는 문자열을 가져온다고 해보자. 그러면 전체 text를 파싱하여 필요한 부분을 찾아야 하므로 굉장히 비효율적이다. 하지만 pickle은 여러 곳에 흩어져 있는 문자열을 리스트에 담아서(물론 처음에는 text 파일을 불러와야 한다) 그 리스트 자체를 저장하면 다음부터는 불러올 때 전체 text 파일을 읽어올 필요가.. 2023. 2. 3.
[Scikit-Learn] 22. ROC 곡선과 AUC (feat. roc_score, RocCurveDisplay, roc_auc_score, auc) ROC(Receiver Operating Characteristic) 곡선과 AUC(Area Under the Curve)은 2 분류 예측 모형의 성능을 평가할 때 사용된다. Scikit-Learn(sklearn)에서는 ROC 곡선을 그리고 AUC 값을 계산할 수 있는 함수를 제공하는데 roc_score, RocCurveDisplay, roc_auc_score, auc, 가 오늘의 주인공이다. 이번 포스팅에서는 roc_score, RocCurveDisplay, roc_auc_score, auc의 사용법을 알아보고자 한다. ROC 곡선과 AUC에 대한 개념이 궁금하면 아래 포스팅을 참고하면 된다. 34. ROC(Receiver Operating Characteristic) 곡선과 AUC(Area Under.. 2023. 2. 2.
34. ROC(Receiver Operating Characteristic) 곡선과 AUC(Area Under the Cuve)에 대해서 알아보자 with Python 이번 포스팅에서는 머신러닝 예측 모형 간 성능을 시각적으로 비교해 볼 수 있는 방법으로 ROC(Receiver Operating Characteristic) 곡선과 AUC(Area Under the Cuve)에 대한 개념을 알아보고 이를 파이썬(Python)으로 구현해보고자 한다. 이 포스팅은 민감도(Sensitivity, 또는 재현율 Recall)와 특이도(Specificity)에 대해서 안다고 가정한다. 민감도와 특이도에 대해서 궁금하신 분들은 여기에서 민감도와 특이도 파트를 참고하기 바란다. - 목차 - 1. ROC(Receiver Operating Characteristic) 곡선 2. AUC(Area Under the Cuve) 1. ROC(Receiver Operating Characteris.. 2023. 2. 2.
[shap] SHAP Value 계산 및 시각화 결과 해석하기 with Python 이번 포스팅에서는 파이썬(Python) shap 패키지를 이용하여 SHAP Value 계산 방법과 시각화 결과를 어떻게 해석하는지 알아보려고 한다. SHAP Value에 대한 개념은 아래 포스팅을 참고하기 바란다. 25. Shapley Value와 SHAP에 대해서 알아보자 with Python 25. Shapley Value와 SHAP에 대해서 알아보자 with Python 이번 포스팅에서는 게임 이론에서 상금 분배 방법의 하나인 Shapley Value와 이를 머신러닝 예측 모형을 해석하는 데 활용한 SHAP에 대해서 알아보고자 한다. 그리고 SHAP Value를 계산하는 과정을 파이 zephyrus1111.tistory.com SHAP Value 계산 및 시각화 결과 해석하기 - 목차 - 1) sh.. 2023. 1. 23.
[imageio] 파이썬(Python)으로 이미지 파일을 모아서 gif 파일 만들기 이번 포스팅에서는 파이썬(Python) 패키지 imageio를 이용하여 여러 이미지를 합쳐서 gif 파일로 만들어보는 방법을 소개하려고 한다. imageio로 gif 파일 만들기 1) imageio 설치 imageio가 없다면 설치를 해줘야 한다. 아래 코드를 복사해서 설치하면 된다. pip install imageio 2) gif 파일 만들기 a. 이미지 생성 먼저 이미지 파일을 만들어 준다. 나는 아래와 같은 수평선을 조금씩 위로 올라가는 장면을 gif로 저장하려고 한다. 아래 코드는 images 폴더에 총 9장의 이미지를 저장한다. import os import matplotlib.pyplot as plt image_dir = './images' if os.path.exists(image_dir):.. 2023. 1. 23.
[Matplotlib] 분봉 차트(Candle Chart, 캔들 차트) 그리기 반갑습니다~ 꽁냥이입니다. 주가를 보다 보면 분봉 차트(Candle Chart, 캔들 차트)를 많이 보게 되는데요. 꽁냥이는 Matplotlib으로 분봉 차트(Candle Chart, 캔들 차트)를 그려보고 싶다는 생각이 들어서 이번 기회에 도전해 보았습니다. 이번 포스팅에서는 분봉 차트(Candle Chart, 캔들 차트)를 Matplotlib만을 이용하여 그리는 방법과 mpl_finance 모듈을 이용하여 그리는 방법을 알아보겠습니다. - 목차 - 1. Matplotlib으로 그리기 2. mpl_finance 이용하기 1. Matplotlib으로 그리기 먼저 데이터를 불러옵니다. import FinanceDataReader as fdr import matplotlib.pyplot as plt from.. 2023. 1. 22.
[Scikit-Learn] 21. Gaussian Mixture Model 클러스터링 (feat. GaussianMixture) Scikit-Learn(sklearn)에서는 가우시안 혼합 모형(Gaussian Mixture Model) 클러스터링 알고리즘을 수행할 수 있는 클래스를 구현하였다. GaussianMixture가 바로 그것이다. 이번 포스팅에서는 GaussianMixture를 이용한 가우시안 혼합 모형(Gaussian Mixture Model) 클러스터링을 해보고자 한다. 가우시안 혼합 모형(Gaussian Mixture Model) 클러스터링 알고리즘의 개념은 아래 포스팅을 참고하기 바란다. 12. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링(군집 분석)에 대해서 알아보자 with Python 12. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링(군집 분석)에 대.. 2023. 1. 22.

맨 위로