본문 바로가기

전체 글

(45)
[파이썬 머신러닝] map으로 레이블 인코딩 하기 레이블 인코딩의 문제는 범주 간에 어떤 종류의 관계도 없을 때 레이블 인코딩을 하면 뜻하지 않게 관계가 만들어질 수 있다. 예를 들어 남자. 여자로 나눌 때 남자를 1로 하고 여자를 2로 하면 여자의 숫자가 더 크므로 여자의 데이터가 더 중요하게 받아들여질 수 있다. 하지만 초등학교졸업, 중학교졸업, 고등학교졸업, 대학교졸업 이라는 숫자를 레이블 인코딩으로 한다면 초등학교 졸업은 1, 중학교 졸업은 2, 고등학교 졸업은 3, 대학교 졸업은 4로 줘서 학력에 따른 레이블을 숫자로 주어서 인코딩 하면 데이터를 분석하는데 더 도움이 된다. LabelEncoder를 쓰면 이 순서가 뒤죽박죽이 될 수 있으므로 map을 통해서 인코딩을 해보겠다. education_level_map = { 'Primary Schoo..
머신러닝 이진분류의 Evaluation 평가에 대해 알아보자(Accuracy, Precision, Recall, F1_Score, ROC_AUC) 머신러닝의 이진분류의 평가는 정확도, 오차행렬, 정밀도, 재현율, F1_스코어, ROC_AUC 로 할 수 있다. 이 평가들은 다른 지표에서도 이용 가능 하지만 특히나 영향력을 발휘하는 평가 지표 들이다. 그러면 하나 하나에 대해 자세히 알아보고자 한다. 1. Accuracy(정확도) 정확도는 전체 데이터에서 예측 결과가 동일한 데이터의 건수의 퍼센트를 나타낸다. 만일 전체 실제 데이터는 [1, 1, 0, 0, 0]이고 실제 데이터는 [1, 1, 1, 0, 0] 이면 가운데 1이 틀리게 예측되었다. 이럴 때 정확도는 0.8이다. 아주 직관적이고 편리한 방법이다. 하지만 데이터가 어떻게 구성되있냐에 따라 우연적으로 accuracy 가 아주 좋게 나올 수 도 있고 아닐 수도 있기 때문에 이것만 가지고 수치를 ..
머신러닝 GridSearchCV 로 하이퍼 파라미터 학습과 최적화 GridSearchCV 란? 사이킷런에서는 분류 알고리즘이나 회귀 알고리즘에 사용되는 하이퍼파라미터를 순차적으로 입력해 학습을 하고 측정을 하면서 가장 좋은 파라미터를 알려준다. GridSearchCV가 없다면 max_depth 가 3일때 가장 최적의 스코어를 뽑아내는지 1일때 가장 최적인 스코어를 뽑아내는지 일일이 학습을 해야 한다. 하지만 grid 파라미터 안에서 집합을 만들고 적용하면 최적화된 파라미터를 뽑아낼 수 있다. GridSearchCV 에 대한 사이킷런 정식 안내 문서는 밑에 있다. scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html sklearn.model_selection.GridSearc..