본문 바로가기

분류 전체보기78

통계학 - 독립변수의 개수가 늘어날수록 결정계수가 증가하는 이유 이번 포스팅에선 평소 수업시간에 귀가 닳도록 들은 "결정계수는 X가 많아지면 증가하는 경향이 있으니 수정된 결정계수를 확인해야 한다." 라는 말을 해석해보고자 한다. 결정계수 결정계수를 이해하는 데에 필요한 식은 위 2개다. SST 는 Total Sum of Squares의 약자, SSR은 Residuals Sum of Squares 의 약자이다. (위 공식에선 SSR을 사용했는데, Residuals 대신 Errors를 사용해 SSE로 쓰는 곳도 많다. 이 경우엔 SSR이 Sum of Squares Regression으로 해석되므로 혼동하지 않도록 주의해야 한다.) SST의 공식을 보면 평균과의 차이의 제곱합을 의미함을 알 수 있고, SSR은 회귀직선과 실제값 사이의 오차제곱합임을 알 수 있다. 결정계수.. 2023. 11. 25.
Pandas 판다스 데이터프레임 열 추가, 합치기 등 (concat, merge, join) + 삭제된 append 교수님이 수업시간에 배포해주신 실습 코드에 다음과 같은 코드가 있었다. copy_titanic_df.append({'passengerId':1, 'survived':1, 'pclass':1, 'name':1, 'sex':1, 'age':1, 'sibsp':1, 'parch':1, 'ticket':1, 'fare':1, 'cabin':1, 'embarked':1}, ignore_index=True) 그래서 같은 코드를 주피터 노트북에서 돌려봤더니, 다음과 같은 에러메시지가 떴다. DataFrame에는 append라는 메소드가 없다는 것이다. 순간 뇌정지가 왔지만 판다스의 버젼을 확인해보니, 실습 코드가 실행된 코랩에서의 판다스 버젼은 1.5.3, 내가 올해 4월 경에 주피터에 설치한 판다스 버젼은 2.0... 2023. 10. 22.
분류 평가 지표 정리 - F1 score, ROC Curve 등 예전에 분류 모델의 평가 지표를 살펴보면서 Precision, Recall, Accuracy 등에 대해 정리했었다. 간단히 짚고 넘어가자면, Precision : Positive로 예측한 것 중 실제 Positive의 비율 (예측이 얼마나 정밀한지 대략적인 파악 가능) Recall (Sensitivity): 실제 Positive 중 예측이 Positive인 비율 (실제 데이터를 얼마나 잘 재현했는지 파악 가능) Accuracy : 전체 예측 중 맞은 예측의 비율 (종합적으로 얼마나 정확한지 파악 가능) 이렇게 외우면 Precision 은 정밀도, Recall은 재현율, Accuracy는 정확도로 암기하기도 쉬웠다. 여기에 Specificity의 개념을 더하자면 Specificity : 실제 Negativ.. 2023. 10. 18.
클러스터링 정리 (K-Means, 계층적 군집화, DBSCAN) 클러스터링은 사실 비지도학습에서 "뭉쳐있는 것끼리 그룹화하는 거 아니야?" 라는 단순한 개념으로만 이해하고 있었다. 하지만 최근에 공부하면서 몇 가지 새로운 개념을 알게 되어서 간단하게 정리해보고자 한다. 참고한 자료는 많은데, 본 포스팅에서 중점적으로 다룰 책은 잘 알려진 '공룡책'의 군집화 파트이다. https://www.yes24.com/Product/Goods/69752484 파이썬 머신러닝 완벽 가이드 - 예스24 자세한 이론 설명과 파이썬 실습을 통해 머신러닝을 완벽하게 배울 수 있다!『파이썬 머신러닝 완벽 가이드』는 이론 위주의 머신러닝 책에서 탈피해 다양한 실전 예제를 직접 구현해 보면서 www.yes24.com 클러스터링 (군집화) 클러스터링, 우리말로 군집화라고 부르는 작업은 비지도학습.. 2023. 10. 17.
Colab 에서 cuda error: device-side assert triggered 등 CUDA error 해결 (huggingface 관련) 이번 포스팅도 에러 관련 짧은 포스팅이 될 것이다. 나는 딥러닝을 코랩에서만 돌리기 때문에 코랩에서의 오류라고 정리했지만, 구글링을 해보면 로컬 gpu를 사용하시는 분들도 이런 오류를 겪으신 분들이 많은 것 같다. 나는 trainer API에서 train을 사용할 때 오류가 발생했는데, 또 신기한 게 실행할 때마다 미세하게 다른 오류가 발생했다. 발생한 오류들은 다음과 같다. CUDA error: device-side assert triggered CUBLAS_STATUS_NOT_INITIALIZED Error 대충 이런 식의 Runtime Error 였는데, 워낙 많은 이유로 에러가 발생하다보니 사람마다 말하는 해결법도 아주 다양했다. 하지만 여러 깃헙과 사이트들을 뒤져본 결과 대략적인 가닥을 잡을 수.. 2023. 9. 30.
Trainer API 에서 compute_metrics 사용할 때 CUDA out of memory 해결법 간밤에 KoGPT 를 사용해서 Colab에서 koGPT 를 파인튜닝하고 있었는데, 자꾸만 아래 오류가 발생했다. 처음에는 배치 사이즈나 tokenizer 과정에서 문제가 생겼나 싶어서 이 부분을 고쳐봤으나 인터넷에서 찾을 수 있는 모든 자료를 다 시도해봐도 오류를 벗어날 수 없었다. 내가 시도해본 방법은 1) 커널 재시작 2) batch_size 1까지도 줄여서 적용 3) Garbage Collect import gc gc.collect() 4) 캐시 청소 torch.cuda.empty_cache() 5) import os os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:" 이 정도 방법들이었는데 한국어로 찾아볼 수 있는 거의 모든 방법을 시도해봤.. 2023. 9. 5.