Data & ML & AI/Pandas & Scikit-Learn
-
[ydata_profiling] 한글깨짐Data & ML & AI/Pandas & Scikit-Learn 2023. 10. 18. 20:04
profile_report를 만들려고 할 때, 한글이 깨지는 현상이 나타납니다. ydata_profiling 라이브러리에서 직접 설정을 변경해줘야합니다. 그래프 내 한글깨짐방지 설정 ydata_profiling 설치 위치 확인 pip show ydata_profiling 저 Location 정보를 복사한 뒤, \ydata_profiling\visualisation 를 뒤에 덧붙이면 수정해야하는 파일의 위치가 나옵니다. C:\Users\~~~생략~~~\ydata_profiling\visualisation 여기서 context.py파일의 내용을 수정해줘야 합니다. "axes.unicode_minus": False # 추가해주세요. Malgun Gothic(윈도우) / AppleGothic (맥) sns.se..
-
df.profile_report 에러 (typeguard.TypeCheckError: argument "config_file" (None) did not match any element in the union)Data & ML & AI/Pandas & Scikit-Learn 2023. 10. 17. 12:05
다른 컴퓨터에서 돌리던 코드를 돌렸는데 profie_report 부분에서 에러가 발생합니다. import pandas as pd df = pd.read_csv('file.csv', index_col=None) df.profile_report() # 결과 Traceback (most recent call last): ... typeguard.TypeCheckError: argument "config_file" (None) did not match any element in the union: pathlib.Path: is not an instance of pathlib.Path str: is not an instance of str 에러에서는 config_file이 잘못되었다고 합니다. 하지만 # 대안1 ..
-
10. Grid Search: 머신러닝 모델 하이퍼파라미터 튜닝, 최적화 손쉽게 하기(feat. scikit learn)Data & ML & AI/Pandas & Scikit-Learn 2023. 3. 30. 00:37
하이퍼파라미터를 하나하나 바꿔가며 모델을 테스트 하는 것은 참 귀찮은 일입니다. 그래서 scikit learn은 그리드탐색(Grid Search)과 랜덤탐색(Random Search)를 지원합니다. 이미지출처 Grid Search 그리드 탐색은 주어진 하이퍼파라미터들 중, 최적의 조합을 찾아내는 기법입니다. 사용자(분석자)가 미리 하이퍼파라미터 세트들을 정의함 모든 경우의 수로 하이퍼파라미터 조합을 생성, 모든 경우에 대해 머신러닝을 수행 가장 우수한 성능을 가진 하이퍼파라미터 조합이 최종적으로 선택됨 sklearn의 toy data인 iris data를 활용한 예시 코드입니다. from sklearn.datasets import load_iris from sklearn.model_selection im..
-
[Pandas] pd.merge 속도 빠르게 바꾸기Data & ML & AI/Pandas & Scikit-Learn 2023. 3. 2. 12:16
새로 서비스를 개발하는데 request에 대한 반응이 너무 느린 문제가 발생하였습니다. 모델 돌아가는게 느린가? 모델을 더 경량화 해야하나? 했는데 pd.merge 가 압도적으로 가장 많은 시간을 잡아먹고 있음을 확인할 수 있었습니다. pd.merge에 소요되는 시간을 줄여봅시다. 아래의 글을 참조했습니다. FAST PANDAS LEFT JOIN (357x faster than pd.merge) Explore and run machine learning code with Kaggle Notebooks | Using data from Riiid Answer Correctness Prediction www.kaggle.com 1) 매우 기본적인 형태의 pd.merge() df_test.merge(df_use..
-
9. Scikit Learn을 활용한 train-test 데이터셋 나누기 (cross validation, K-fold)Data & ML & AI/Pandas & Scikit-Learn 2022. 8. 11. 01:08
모델학습의 정확도, 과적합 여부를 확인하기 위해 데이터셋을 훈련용(train), 테스트용(test) 데이터셋으로 나누곤 합니다. 더 나아가서는 검증용(valid) 데이터셋으로 구분하기도 하죠. 앞서 6.scikit-learn을 활용한 간단한 분류모델, 7.회귀모델에서도 잠깐 다루긴 했었지만, 아주 조금만 더 자세히 살펴볼까 합니다. 1. 데이터 가져오기 sklearn의 toy data 중 와인데이터를 사용해보겠습니다. import pandas as pd from sklearn.datasets import load_wine wine = load_wine() X = wine['data'] Y = wine['target'] feature_names = wine['feature_names'] df = pd.Da..
-
8. 판다스를 활용한 원핫인코딩(One hot encoding)Data & ML & AI/Pandas & Scikit-Learn 2022. 6. 10. 01:14
기본적으로 모델학습에 범주형 변수를 활용하기 위해서는 수치화 하는 과정이 필요합니다. 가장 쉬운 방법은 미국=1, ... 일본=81, 한국=82...와 같은 방식으로 코드를 부여하는 것입니다. 하지만 당연하게도 이 수치를 그대로 활용하면 문제가 발생할 수 밖에 없습니다. (미국 + 일본 = 한국)이 되어버리는건 너무나도 이상하죠. 이를 가장 손쉽게 해결하는 방법은 원핫인코딩(one-hot-encoding)입니다. 통계적인 관점에서는 더미변수(dummy variable)를 생성하는 것입니다. sklearn의 데이터셋인 house_prices 데이터셋의 일부를 활용해 실습해보겠습니다. import pandas as pd from sklearn.datasets import fetch_openml housing..
-
7. scikit-learn을 활용한 간단한 회귀모델(regression with LinearRegression)Data & ML & AI/Pandas & Scikit-Learn 2022. 6. 8. 01:01
지난 글에서는 분류문제를 다루었으므로 이번엔 간단한 회귀문제를 다루어보겠습니다. 이번에도 역시 scikit learn에 내장된 데이터셋 중 하나인 보스턴 주택가격 데이터셋을 사용해... 보고자 하였으나 DEPRECATED: load_boston is deprecated in 1.0 and will be removed in 1.2. The Boston housing prices dataset has an ethical problem. You can refer to the documentation of this function for further details. 윤리적인 이슈로 인해 언젠가 사라질 예정이라고 합니다. (참고) 따라서 그 대안으로 California housing dataset을 사용하겠습니..
-
6. scikit-learn을 활용한 간단한 분류모델 (classification with LogisticRegression)Data & ML & AI/Pandas & Scikit-Learn 2022. 6. 3. 01:11
지난 글 까지는 제가 크롤링한 데이터를 사용했지만, 쉽게 내용을 정리하기 위해서는 역시 많은 사람들이 이미 정리해놓은 데이터를 사용하는 것이 더 편하고 직관적으로 좋기 때문에 지금부터는 sklean에 빌트인 된 데이터셋을 사용하려고 합니다. sklearn에 빌트인 된 대표적인 toy data 목록은 다음과 같습니다. load_boston: 보스톤 집값 데이터 load_breast_cancer: 위스콘신 유방암 환자 데이터 load_diabetes: 당뇨병 환자 데이터 load_digits: 손글씨 데이터 load_iris: 아이리스 붓꽃 데이터 load_linnerud: multi-output regression 용 데이터 load_wine: 와인 데이터 저는 이 중 와인데이터를 활용해 보겠습니다. 1...