반응형

Python/Sklearn 23

파이썬 SMOTE 알고리즘 데이터 불균형 해결 예제

Python SMOTE 사용법 파이썬에서 비대칭 데이터 라벨 문제를 해결하는 알고리즘 중 하나인 SMOTE를 사용해보는 예제를 간단하게 다루어보도록 하겠습니다. SMOTE 알고리즘이란? SMOTE는 데이터 불균형 해결 방법 중 적은 수의 라벨 측에 포함된 데이터 샘플 수를 늘리는 대표적인 오버 샘플링 기법 중 하나로, 샘플링된 데이터에 대하여 k-최근접 이웃을 고른 뒤, 해당 점과 이웃 점들을 선분으로 잇고 이 선분들 위에서 임의의 점을 골라 새로운 샘플로 취급하는 알고리즘입니다. SMOTE 파이썬 코드 예제 먼저, 예시 데이터로 사이킷런의 유방암 예측 데이터셋을 불러오도록 하겠습니다. 편의상, 수많은 종류 중 4가지 feature만 골라서 사용하겠습니다. import pandas as pd from s..

Python/Sklearn 2022.12.05

[Sklearn] 파이썬 모델 앙상블 : 배깅 / 부스팅 / 보팅 함수 정리

Python Model Ensemble(Bagging, Boosting, Voting) 파이썬에서 여러 머신러닝 모델의 앙상블을 진행하는 배깅, 부스팅 그리고 보팅과 관련된 사이킷런의 함수들을 간단한 예제를 통하여 이해하기 쉽도록 비교 정리해보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는 iris 데이터셋을 활용하겠습니다. 데이터셋을 불러오고 train / test 셋으로 분리하는 간단한 전처리 코드는 다음과 같습니다. from sklearn.datasets import load_iris import pandas as pd import numpy as np from sklearn.model_selection import train_test_split # 데이터셋 로..

Python/Sklearn 2022.09.25

[Sklearn] 파이썬 feature selection 함수 RFE, RFECV 예제

Python scikit-learn RFE, RFECV 파이썬에서 RFE와 RFECV 함수를 사용하여 feature selection을 진행하는 예제를 다루어보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는 유방암 분류 예측 데이터셋을 사용하겠습니다. 총 30가지 종류의 feature가 있으며, target 정보는 0과 1(악성 / 양성)의 이진 분류입니다. 우선, 데이터셋을 데이터프레임으로 불러오는 코드는 다음와 같습니다. import pandas as pd from sklearn import datasets # 유방암 데이터셋 로드 data = datasets.load_breast_cancer() df = pd.DataFrame(data.data, columns ..

Python/Sklearn 2022.09.24

[Sklearn] 파이썬 ROC 커브, AUC 면적 구하기 예제

Python scikit-learn ROC curve, AUC 파이썬에서 사이킷런을 활용하여 이진 분류 문제의 ROC 커브를 그려보고 AUC 값을 구해보는 방법을 간단한 예제를 통해 알아보도록 하겠습니다. 데이터셋 로드 및 전처리 이번 예제에서는 사이킷런에서 제공하는 기본 데이터셋인 breast cancer 분류 데이터셋을 활용해보겠습니다. 먼저, 아래의 코드로 target class에 대한 정보(0 또는 1이며, 악성/양성 종양 여부 의미)를 포함한 데이터셋을 데이터프레임 형태로 불러오겠습니다. import pandas as pd from sklearn import datasets # 유방암 데이터셋 로드 data = datasets.load_breast_cancer() df = pd.DataFrame..

Python/Sklearn 2022.09.16

[Sklearn] 파이썬 단어 개수 세기 예제 : CountVectorizer 함수

Python scikit-learn word count method 파이썬의 사이킷런 모듈을 활용하여 단어의 개수를 손쉽게 셀 수 있는 CountVectorizer 메소드에 관하여 사용 예제를 간략하게 정리해보도록 하겠습니다. 우선, 아래와 같은 문서들의 리스트가 있다고 가정하고 문서별로 단어 개수를 세보겠습니다. d1 = '바나나 사과 딸기 딸기 참외' d2 = '수박 바나나 딸기 바나나 딸기' d3 = '딸기 수박 참외 사과 사과 수박' d4 = '사과 사과 사과 사과 참외 참외' corpus = [d1, d2, d3, d4] 단어 개수 세기 기본 예시 CountVectorizer를 사용하여 단어 개수 벡터화를 진행해 보겠습니다. 기본 값으로 사용 시 공백 기준으로 단어를 나눠 개수를 카운팅하게 되며..

Python/Sklearn 2022.08.29

[Sklearn] 파이썬 나이브 베이즈 분류기 구현 예제

Python 사이킷런 나이브 베이즈(NB) 분류 모델 학습하기 파이썬에서 scikit-learn의 기능을 활용하여 나이브 베이즈 분류기 학습 진행의 과정을 구현해보는 예제를 다루어보겠습니다. 데이터셋 불러오기 먼저, 이번 글에서 사용할 붓꽃 데이터셋을 불러오도록 하겠습니다. from sklearn.datasets import load_iris import pandas as pd # 데이터셋 로드 iris = load_iris() df = pd.DataFrame(data= iris.data , columns= ['sepal length', 'sepal width', 'petal length', 'petal width']) df['target'] = iris.target df 0, 1, 2로 표시된 3가지 ..

Python/Sklearn 2022.06.13

[Sklearn] 파이썬 Regularization : Lasso, Ridge, ElasticNet 적용하기

파이썬 사이킷런 라쏘, 릿지, 엘라스틱넷 규제 사용 예제 파이썬에서 선형 회귀 등의 머신러닝 모형을 학습할 때, 대표적인 regularization 방법들인 Lasso, Ridge 및 ElasticNet을 적용하는 방법을 간단한 예제를 통하여 정리해보도록 하겠습니다. 기본 사용법 : 선형회귀에서 Lasso, Ridge 및 ElasticNet 규제 적용 기본적으로, 라쏘 등의 규제 방법들은 선형 회귀 모델의 복잡도에 패널티를 부여합니다. 사이킷런의 선형 회귀 모형에 대한 이해가 필요하시다면 아래의 이전 글을 참고하세요. [Sklearn] 파이썬으로 선형 회귀 분석하기 예제 (Linear Regression) 이번 포스팅에서는 파이썬 사이킷런 모듈로 선형 회귀 분석을 진행하는 방법에 대하여 간단히 다루어보도..

Python/Sklearn 2022.06.03

[Sklearn] 파이썬 MNIST 데이터셋 불러오기, 숫자 시각화 예제

파이썬 사이킷런으로 손글씨 숫자 인식 데이터셋 다루기 파이썬에서 손글씨 숫자 인식 데이터셋인 MNIST를 불러오고 데이터를 몇개 뽑아 숫자 글씨의 상태를 시각화해보는 예제를 살펴보도록 하겠습니다. MNIST 데이터셋 로드 MNIST의 각 데이터는 28 * 28 픽셀(총 784개)의 각 위치에 0~255 사이의 정수 값이 저장된 형태입니다. MNIST 전체는 총 7만 장의 사진으로 구성되어 있기에 따라서 데이터프레임으로 불러오게 된다면 행이 7만개이고, 열이 784개로 이루어진 형태를 나타내게 됩니다. 파이썬에서는 sklearn의 fetch_openml 함수로 아래처럼 mnist 데이터를 불러올 수 있습니다. (데이터셋을 불러오는 데에는 수 분 가량이 소요될 수도 있습니다.) from sklearn.dat..

Python/Sklearn 2022.05.31

파이썬 XGBoost 분류기(XGBClassifier) 실습 코드 예제

파이썬 XGBoost 분류 모델 사용법 파이썬에서 xgboost 모듈과 사이킷런을 활용하여 대표적인 앙상블 모델 중 하나인 XGBoost 분류기(XGBClassifier)를 사용하는 예제에 대하여 다루어보도록 하겠습니다. xgboost 모듈 설치 XGBoost 분류기 함수는 사이킷런에서 제공하지는 않으며, xgboost라는 다른 모듈이 제공하고 있습니다. 따라서 만일 xgboost 모듈이 설치되어있지 않다면 코드 창에 !pip install xgboost를 입력 후 실행하거나 터미널 창에 pip install xgboost를 입력하여 설치를 진행해주세요. 데이터셋 로드, 전처리 여기서는 예시로, kaggle의 타이타닉 생존자 예측 데이터셋의 train 셋을 데이터로 가정하고 생존 여부를 예측하여 분류하는..

Python/Sklearn 2022.05.24

[Sklearn] 파이썬 성능평가 지표 함수 정리 : accuracy_score, f1_score(precision_score, recall_score), confusion_matrix

파이썬 사이킷런 정확도, F1 score, 혼동 행렬 함수 사용법 파이썬 scikit-learn 모듈에서 제공하는 정확도 구현 함수인 accuracy_score, F1 점수 함수인 f1_score(precision_score, recall_score 포함), 그리고 혼동 행렬 함수인 confusion_matrix에 대하여 간단히 정리해보도록 하겠습니다. 이해를 돕기 위하여, 실제 라벨 y_true와 예측 라벨 y_pred가 아래와 같이 등장한 상황을 가정해보도록 하겠습니다. y_true = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1] # 실제 라벨 가정 y_pred = [0, 0, 0, 0, 1, 1, 1, 1, 0, 0] # 예측 라벨 가정 참고로, 여기서는 y_true와 y_pred의 자료..

Python/Sklearn 2022.05.08
반응형