본문 바로가기
728x90
반응형
SMALL

Learning-driven Methodology/ML (Machine Learning)67

[XGBoost] 위스콘신 유방암 데이터 (3) wpbc 데이터셋 특징은 유방 종괴의 미세 바늘 흡인물 (FNA)의 디지털화된 이미지에서 계산된다. 이것은 이미지에 존재하는 세포 핵의 특성을 설명한다. (https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29) import pandas as pd df = pd.read_csv('wpbc_data.csv', header=None) df.head() # Outcome 값 변경 df.loc[df[1]=='N',1] = 0 df.loc[df[1]=='R',1] = 1 df[1] = df[1].astype('int32') df.describe() # 결측치 제거 및 Outcome 비율 확인 for key in df.keys.. 2022. 10. 4.
[XGBoost] 위스콘신 유방암 데이터 (2) wdbc 데이터셋 특징은 유방 종괴의 미세 바늘 흡인물 (FNA)의 디지털화된 이미지에서 계산된다. 이것은 이미지에 존재하는 세포 핵의 특성을 설명한다. (https://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Diagnostic%29) import pandas as pd df = pd.read_csv('wdbc_data.csv', header=None) df.head() # Outcome 값 변경 df.loc[df[1]=='B', 1] = 0 df.loc[df[1]=='M', 1] = 1 df[1] = df[1].astype('int32') df.describe() df.isnull().sum() 데이터 전처리 features = df[d.. 2022. 10. 4.
[XGBoost] 위스콘신 유방암 데이터 (1) 위스콘신 유방암 데이터 사이킷런에서는 UCI ML 유방암 위스콘신 (진단) 데이터 세트를 제공한다. 또한, 사본도 다운로드 가능하다. 라이브러리 설치 conda install -c conda-forge xgboost conda install -c conda-forge imbalanced-learn breast-cancer-wisconsin 데이터셋 로드 import pandas as pd df = pd.read_csv('breast-cancer-wisconsin.data.csv', names=['id','Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial Cell.. 2022. 10. 4.
[Machine Learning] 앙상블 (Ensemble) 앙상블 (Ensemble) 여러 개의 알고리즘들이 이용하여 하나의 값을 예측하는 기법을 통칭하며, 대중적인 데이터 분석 알고리즘이다. 선형 회귀나 로지스틱 회귀는 가장 대중적인 알고리즘이고, 그 다음이 의사결정 트리와 앙상블 계열 알고리즘이다. 최근 머신/딥러닝 분야에서 딥러닝 다음으로 부스팅 (boosting) 알고리즘이 핵심적으로 사용된다. 메타 분류기 (meta-classifier)라고도 부른다. 메타 (meta)는 일종의 상위 또는 추상화라는 개념이다. 여러 분류기들을 모아 하나의 분류기를 만들어 이를 메타 분류기라고 부른다. 시간이 많이 소요되지만 비교적 좋은 성능을 낸다. 하나의 데이터를 넣고 이를 여러 모델에 학습시킨다. 테스트 데이터를 각 모델에 입력하고 투표 또는 여러 가중치 기법을 적용.. 2022. 10. 4.
[Machine Learning] LightGBM LightGBM LightGBM은 GBM 계열의 트리 분할 방법과 다르게 리프 중심 트리 분할 방식을 사용한다. 기존의 대부분 트리 기반 알고리즘은 트리의 깊이를 효과적으로 줄이기 위한 균형 트리 분할 방식을 사용한다. 리프 중심 트리 분할은 트리의 균형을 맞추지 않고, 최대 손실 값을 가지는 리프 노드를 지속적으로 분할하면서 트리의 깊이가 깊어지고 비대칭적인 규칙 트리가 생성 된다. 예측 오류 손실을 최소화 할 수 있다. LightGBM의 특징 더 빠른 학습과 예측 수행 시간 더 작은 메모리 사용 카테고리형 피처의 자동 변환과 최적 분할 대용량 데이터에 대한 뛰어난 예측 성능 및 병렬 컴퓨팅 기능을 제공 최근에는 GPU까지 지원 XGBoost보다 학습에 걸리는 시간이 훨씬 적으며, 메모리 사용량도 상대.. 2022. 10. 4.
[Machine Learning] SVM 회귀 SVM 회귀 SVM을 회귀에 적용하는 방법은 제한된 마진 오류 (도로 밖 샘플) 안에서 도로 안에 가능한 많은 샘플이 들어가도록 학습한다. 도로 폭은 하이퍼파라미터 ϵ로 조절한다. 마진 안에서 훈련 샘플이 추가되어도 모델의 예측에는 영향이 없게 되면, ϵ에 민감하지 않다고 한다. from sklearn.svm import LinearSVR svm_reg = LinearSVR(epsilon=1.5) svm_reg.fit(X, y) LinearSVR(C=1.0, dual=True, epsilon=1.5, fit_intercept=True, intercept_scaling=1.0, loss='epsilon_insensitive', max_iter=1000, random_state=None, tol=0.0001.. 2022. 9. 30.
[Machine Learning] 비선형 SVM 분류 비선형 SVM 분류 데이터가 선형적으로 분류가 안되는 경우에 사용한다. 그림을 보면, 빨강색과 파란색 직선 둘 다 완벽한 분류기가 되지 않았다. 이와 같이 실생활에서는 선형적으로 분류할 수 없는 데이터가 많다. 따라서, 데이터를 분류하기 쉽게 (선형적으로 분류 가능하도록) 만드는 작업을 진행해야 한다. 간단한 방법인 X1과 X1의 제곱 값을 X2에 대입한다. 빨강색 선과 같이 분명하게 나누어 진다. 이와 같이 Scikitlearn에서는 PolynomialFeatures 방식을 제공한다. example 초승달 모양의 2개의 클러스터 생성 선형적으로 분류 불가능 데이터를 선형적인 분류가 되게끔 변형이 필요함 import numpy as np from sklearn import datasets from skl.. 2022. 9. 30.
[LightGBM] 매개변수 조정 (Parameters Tuning) (2) Grow Less Trees 모델에 트리 노드를 추가하는 데 필요한 시간을 줄여 학습 시간을 더욱 줄일 수 있다. 아래는 훈련 속도를 높이지만 훈련 정확도를 떨어뜨릴 수 있다. Decrease num_iterations 매개변수 num_iterations는 수행할 부스팅 라운드 수를 제어한다. LightGBM은 의사결정 트리를 학습자로 사용하기 때문에 "트리의 수"로 생각할 수도 있다. num_iterations을 변경하려고 하면 learning_rate도 바꾼다. learning_rate는 훈련 시간에는 영향을 미치지 않지만 훈련 정확도에는 영향을 미친다. 일반적으로 num_iterations를 줄이면 learning_rate을 늘려야 한다. num_iterations와 learning_rate의 올바.. 2022. 7. 4.
[LightGBM] 매개변수 조정 (Parameters Tuning) (1) 리프 방식 (최상 우선) 트리 매개변수 조정 LightGBM은 잎별 트리 성장 알고리즘을 사용하는 반면 다른 많은 인기 도구는 깊이별 트리 성장을 사용한다. 깊이별 성장과 비교할 때 잎별 알고리즘은 훨씬 빠르게 수렴할 수 있다. 그러나 적절한 매개변수와 함께 사용하지 않으면 잎사귀 성장이 과적합될 수 있다. 리프 방식 트리를 사용하여 좋은 결과를 얻으려면 다음과 같은 몇 가지 중요한 매개변수가 있다. num_leaves : 이는 트리 모델의 복잡성을 제어하는 ​​주요 매개변수이다. 이론적으로 깊이별 트리와 동일한 수의 잎을 얻도록 num_leaves = 2^(max_depth)을 설정할 수 있다. 그러나 이 간단한 변환은 실제로 좋지 않다. 그 이유는 고정된 수의 잎에 대해 leaf-wise tree가 .. 2022. 6. 28.
[LightGBM] Features (2) 네트워크 통신 최적화 (Optimization in Network Communication) LightGBM의 분산 학습에서 "All Reduce", "All gather" 및 "Reduce scatter"와 같은 일부 집합적 통신 알고리즘만 사용하면 된다. LightGBM은 최신 알고리즘을 구현한다. 이러한 집합적 통신 알고리즘은 지점간 통신보다 훨씬 더 나은 성능을 제공할 수 있다. 분산 학습 최적화 (Optimization in Distributed Learning) LightGBM은 기능과 데이터 병렬 분산 학습 알고리즘을 제공한다. 기능 병렬 (Feature Parallel) 1. 전통적인 알고리즘 (Traditional Algorithm) 기능 병렬은 의사 결정 트리에서 "최상의 분할 찾기"를.. 2022. 6. 28.
728x90
반응형
LIST