Data Analysis/Python15 파이썬 문자열 결측치 처리 데이터 분석을 하는 경우, 데이터 전처리 하는 과정에서 개인적으로 가장 어려운 부분이 결측치 처리라고 생각한다. 결측치(missing value)는 데이터의 빈 값을 말하며, 이것을 제거하거나 대체해 준 뒤 머신러닝이나 딥러닝을 실행한다. 데이터의 형태는 크게 범주형 데이터와 수치형 데이터로 나뉘는데, 수치형 데이터 같은 경우는 숫자의 형태로 되어 있기 때문에 주로 해당하는 열의 최빈값, 평균 값, 중앙값, 사분위 수 값으로 대체할 수 있다. 하지만, 범주형 데이터는 문자형으로 되어 있기 때문에 처리하는 과정에서 수치형 데이터에 비해 조금 어렵다고 느껴졌다. 따라서, 이번 포스팅에서는 범주형 데이터의 결측치 처리하는 방법에 대해서 알아보고자 한다. Deletion (제거하기) - 데이터가 충분하고, 결측.. 2023. 4. 14. Light GBM에 관하여 Light GBM은 XGBoost와 함께 부스팅 계열 알고리즘에서 가장 각광받고 있는 모델 중 하나이다. Light GBM의 가장 큰 장점은 역시나 학습에 걸리는 시간이 훨씬 빠른 것이다. XGBoost나 GBM을 이용하여 학습을 진행해본 사람들은 알겠지만, GridSearchCV를 이용하여 하이퍼 파라미터를 튜닝할 때 시간이 매우 오래걸린다는 단점이 있다. 이를 해결하기 위해 "Light" GBM이 개발되었다. 속도가 개선된 것은 사실이지만, LightGBM은 한가지 단점이 존재한다. 바로, 적은 데이터 세트에 적용할 경우 과적합이 발생하기 쉽다는 것이다. 따라서 일반적으로 10,000건 이하의 데이터 세트에는 잘 사용되지 않는다. LightGBM LightGBM은 리프 중심 트리 분할(Leaf Wis.. 2023. 3. 5. 사이킷런 래퍼 XGBoost xgboost 모델을 사용하기 위해서 앞서 설명한 것과 같이 파이썬 래퍼 XGBoost와 사이킷런 래퍼 XGBoost가 존재한다. 이번에는 사이킷런 래퍼 XGBoost의 사용법과 그에 관한 설명을 하도록 하겠다. 사이킷런 래퍼 XGBoost는 사이킷런의 프레임워크와 연동하기 위해서 개발하였고, 이 때문에 다른 Estimator와 동일하게 fit()과 predict() 메서드 만으로도 학습과 예측이 가능하고, GridSearchCV, Pipelinde 등 다른 유틸리티를 그대로 사용할 수 있다는 장점이 있다. 사이킷런 래퍼 XGBoost는 분류를 위한 XGBClassifier와 회귀를 위한 XGBRegressor가 존재한다. XGBoost 하이퍼 파라미터 사이킷런 래퍼 XGBoost의 하이퍼 파라미터는 파.. 2023. 3. 5. 파이썬 래퍼 XGBoost 예제 - 위스콘신 유방암 예측 xgboost를 파이썬을 적용할 때 두가지 방법이 존재한다. 파이썬 래퍼 XGBoost를 사용하거나 사이킷런 래퍼 XGBoost를 사용하는 것이다. 먼저, 사이킷런에 내장되어 있는 위스콘신 유방암 데이터 세트를 이용하여 파이썬 래퍼 xgboost 실습을 진행해보도록 하겠다. 파이썬 래퍼 xgboost는 자체적으로 교차 검증, 성능 평가, 피처 중요도 등의 시각화 기능을 가지고 있다. 또한, 조기 중단이라는 기능도 가지고 있기에 부스팅 반복 횟수가 끝까지 도달하지 않더라도 예측 성능이 좋아지지 않으면 자체적으로 중지시켜 비교적 빠른 수행시간으로 결과값을 도출할 수 있다. 위스콘신 유방암 데이터 예측 위스콘신 유방암 데이터 세트는 종양의 크기, 모양 등의 다양한 속성값을 기반으로 악성 종양(malignant.. 2023. 3. 5. XGBoost_하이퍼파라미터 XGBoost는 GBM에 기반을 하고 있지만, GBM의 단점인 느린 수행 시간 및 과적합 규제(Regularization) 부재 등의 문제를 해결한 트리기반 알고리즘 모델이다. XGBoost의 장점은 뛰어난 예측 성능 : 분류 및 회귀 둘 다 뛰어난 예측 성능 GBM 대비 빠른 수행 시간 : 약한 학습기가 가중치를 증감하는 방법으로 돌아가는 GBM과는 달리 병렬 수행 및 다양한 기능으로 GBM보다는 빠른 수행시간을 가지고 있음 과적합 규제 : XGBoost 자체에 과적합 규제 기능을 가지고 있음 Tree pruning (나무 가지치기) : max depth 파라미터를 이용하여 트리 분할 깊이를 조절할 수도 있지만, tree pruning으로 더 이상 긍정 이득이 없는 분할을 가지치기 해서 분할 수를 더 .. 2023. 2. 28. 분류_GBM(Gradient Boost Machine) 위의 그림과 같이 기본적으로 부스팅 기법은 여러 개의 약한 학습기를 반복적으로 학습, 예측하면서 잘못 예측한 데이터에 가중치를 부여하여 오류를 개선해 나가는 학습 방식이다. 부스팅의 대표적인 알고리즘으로는 AdaBoost와 그래디언트부스트가 있다. AdaBoost(에이다부스트) 에이다부스트 기법은 AdaptiveBoosting을 줄여서 부르는 말로 관측치들에 가중치를 더한다. 즉, 약간 학습기의 오류에 가중치를 더하면서 부스팅을 수행한다. GBM 그래디언트 부스팅 기법은 에이다부스트기법과는 유사하나, 가중치 업데이트를 경사하강법을 통해서 최적의 결과를 얻는 알고리즘이다. 쉽게 말하면 학습기의 오류에 가중치를더하는 것이 아니라 아니라 경사하강법을 통해 발생한 잔여 오차(Resudial Error), 잔차에.. 2023. 2. 1. 이전 1 2 3 다음