목록초보 (34)
Note
구글링과 알고 있는 지식을 토대로 작성한 것이기에 틀릴 수도 있으니 참고만 부탁드립니다. 주피터 노트북에서 작성한 것으로 실제 시험 환경과는 다를 수 있습니다. 주어진 데이터를 로드하고 테스트 데이터끼리 merge를 사용해서 합쳐준다. id 변수와 성별 변수는 당장 필요 없기 때문에 따로 저장해준다. 따로 저장한 변수들을 원래 데이터에서 빼고 다시 저장한다. 한글로 있는 데이터를 레이블 인코딩을 통해서 변환해준다. 환불금액에 존재하는 결측치에 대해서는 환불하지 않은 것으로 판단해서 금액 0으로 채워준다. 로지스틱 회귀분석을 사용해서 학습하고 예측한다. 예측 결과를 보면 0과 1이 존재하는데 0은 여자일 확률, 1은 남자일 확률이다. 예측 확률을 데이터 프레임 형태로 변환해주고 남자일 확률만 가져온다. 평..
(1) Basic 스태킹 모델 스태킹 앙상블이란 각각의 알고리즘 기법들을 활용하여 각각 예측을 진행하고 최종적인 스태킹 모델에 합쳐서 다시 예측을 하는 기법이다. 필요한 라이브러리를 임포트하고 위스콘신 유방암 데이터를 로드한다. 학습 데이터와 테스트 데이터를 나눈다. knn 기법, 랜덤 포레스트, 의사 결정 나무, 에이다부스트 4가지 기법에 대해서 각각 객체를 생성하고, 최종 예측을 위한 스태킹 모델 객체도 생성해준다. 각각 알고리즘 기법들에 대해서 학습을 시키고 예측한 정확도들을 확인할 수 있다. 각 알고리즘을 통해 예측한 것을 pred라는 객체에 다시 저장하고 transpose를 이용해 행과 열의 위치 바꿔 각 알고리즘의 예측 결과를 feature로 만든다. 최종 스태킹 모델을 학습시키고 예측 정확도..
1. 장점 ( XGBoost 대비) (1) 더 빠른 학습과 예측 수행시간( CPU 코어가 증가된다면 XGBoost도 빠른 수행 속도를 보인다. ) (2) 작은 메모리 사용량 (3) 원-핫 인코딩 등 인코딩 방법을 사용하지 않고도 카테고리형 피처를 최적으로 변환하고 노드 분할 수행 (4) GPU 지원 (5) 리프 중심 트리 분할 ( Leaf Wise ) - 균형 분할보다는 오류를 줄이는 방향성을 가지고 트리를 분할해서 속도와 성능 향상 * Light GBM을 사용하기 위해서는 Visual Studio Build Tools 설치해야한다. Visual Studio Build Tools에서 Visual C++ 빌도 도구를 설치한 후에 아나콘다 프롬프트에서 관리자 권한으로 실행 후 conda install -c ..
1. 장점 (1) 뛰어난 예측 성능 (2) GBM 대비 수행 시간이 빠르다. ( CPU 병렬 처리, GPU 지원 ) (3) 규제 기능 탑재, Tree Prunning (4) 조기 중단, 자체 내장된 교차 검증, 결측 값 자체 처리 2. 조기 중단 기능 (Early Stopping) (1) 특정 반복 횟수만큼 더 이상 비용함수가 감소하지 않으면 지정된 반복 횟수를 완료하지 않고 수행 종료 가능. (2) 학습을 위한 시간 단축. ( 최적화 튜닝 단계에서 사용 가능) (3) 반복 횟수를 단축할 경우 최적화 문제 발생 가능성 - 최적화가 되지 않은 상태에서 학습이 종료될 수 있다. 3. 코딩 - 위스콘신 유방암 데이터 ( 다양한 방법을 똑같은 데이터로 예측 성능을 비교하기 위함) 공통된 라이브러리 로드 XGBo..
부스팅 : 성능이 약한 학습기를 여러 개 연결하여 순차적으로 학습함으로써 강한 학습기를 만드는 앙상블 학습 기법. 장점 : 오답에 대해 높은 가중치를 부여하고 정답에 대해 낮은 가중치를 부여하여 오답에 더욱 집중한다. 단점 : 이상치(Outlier)에 취약하다. GBM은 가중치 업데이트를 경사 하강법을 이용한다. 기울기를 최소화하는 방향성을 가지고 반복적으로 가중치 값을 업데이트하는 것이 경사 하강법이다. GBM 단점 : 가중치 업데이트 반복 수행으로 인해 학습 시간이 상대적으로 오래 걸린다, 그리드서치까지 할 경우 더 오랜 시간이 소요된다. 코딩 옵션 (1) loss : 경사 하강법에서 비용 함수 지정, 디폴트 값은 'deviance' (2) learning_rate : 학습을 진행할 때마다 적용하는 ..