반응형

Python/Sklearn 25

파이썬 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

[Sklearn] 파이썬 K-Fold 교차 검증 예제(KFold, StratifiedKFold 함수)

파이썬 사이킷런 K Fold cross validation 방법 안녕하세요. 이번 글에서는 파이썬에서 k fold 교차 검증을 진행하는 방법을 scikit-learn의 KFold 및 StratifiedKFold 함수의 사용법 예제를 통하여 살펴보도록 하겠습니다. 데이터셋 로드 여기서는 사이킷런에서 제공하는 iris 데이터셋을 불러와보도록 하겠으며, 랜덤 포레스트를 통한 분류 모델에서 k-fold 교차 검증을 적용해보겠습니다. from sklearn.datasets import load_iris import pandas as pd import numpy as np # 데이터셋 로드 iris = load_iris() df = pd.DataFrame(data= np.c_[iris.data, iris.targe..

Python/Sklearn 2022.03.20

[Sklearn] 파이썬 TF-IDF 구하기, 코사인 유사도로 비슷한 문서 찾기

파이썬 사이킷런 유사 문서 탐색 예제 안녕하세요. 이번 글에서는 파이썬 scikit-learn 패키지를 이용하여 문서의 TF-IDF 벡터를 구해보고, 구한 벡터 간의 코사인 유사도를 기반으로 비슷한 문서를 찾는 과정에 대하여 다루어보도록 하겠습니다. 우선, 아래와 같은 5개의 간단한 문서가 있다고 가정해보겠습니다. d1 = '사과 바나나 오렌지 바나나 멜론' d2 = '포도 포도 오렌지 오렌지 수박' d3 = '사과 사과 바나나 오렌지 수박' d4 = '포도 사과 멜론 딸기 딸기' d5 = '딸기 수박 멜론 바나나 오렌지' 이 d1~d5를 기준으로 각 문서별로 가장 유사한 document를 단어 기준 TF-IDF 임베딩 및 코사인 유사도로 찾아보도록 하겠습니다. 파이썬 TF-IDF 벡터화 사이킷런의 Tf..

Python/Sklearn 2022.02.22

[Sklearn] 파이썬 정규화 Scaler 종류 : Standard, MinMax, Robust

파이썬 사이킷런 스케일러 사용 예제, 특징 정리 안녕하세요. 이번 글에서는 파이썬 scikit-learn 라이브러리에서 각 feature의 분포를 정규화 시킬 수 있는 대표적인 Scaler 종류인 StandardScaler, MinMaxScaler 그리고 RobustScaler에 대하여 사용 예제와 특징을 살펴보도록 하겠습니다. 여기서는 아주 간단한 예시로 0~10의 숫자가 차례로 있는 x1 column과 0~10의 제곱수가 차례로 있는 x2 column의 정규화 결과를 각 Scaler에서 비교해보며 대략적인 특징을 살펴보겠습니다. import pandas as pd import numpy as np df = pd.DataFrame({'x1' : np.arange(11), 'x2' : np.arange(..

Python/Sklearn 2022.02.18

[Sklearn] 파이썬 DBSCAN 클러스터링 구현 및 시각화 예제

파이썬 사이킷런 DBSCAN 군집화 과정 안녕하세요. 이번 글에서는 파이썬의 scikit-learn 라이브러리를 이용하여 DBSCAN 클러스터링 과정을 구현해보고, 시각화 결과를 비교하여 최적의 파라미터를 추적해보는 예제에 대해서 다루어보도록 하겠습니다. 데이터셋 로드 및 정규화 우선, 이번 글에서는 캐글에 있는 아래 사이트의 데이터를 사용하여 군집화를 진행해보겠습니다. Mall Customers Clustering Analysis Explore and run machine learning code with Kaggle Notebooks | Using data from Mall Customer Segmentation Data www.kaggle.com import pandas as pd df = pd.r..

Python/Sklearn 2022.02.17

[Sklearn] 파이썬 사이킷런 PCA 구현 및 시각화 예제

Python PCA(주성분 분석) 차원 축소 실습 코드 안녕하세요. 이번 시간에는 파이썬의 사이킷런 라이브러리를 활용하여 대표적인 차원 축소 기법인 주성분 분석(PCA)을 구현해보고 설명력 결과 해석 및 시각화를 해보는 실습까지 진행해보도록 하겠습니다. 데이터셋 불러오기, 정규화 이번에 PCA 차원 축소를 진행해볼 데이터 셋은 사이킷런에서 제공하는 iris 데이터셋입니다. 또한, PCA 과정 수행을 위해서는 각 feature의 평균과 편차를 일정하게 맞추는 정규화 과정이 필수적으로 수행되어야 하므로, StandardScaler를 미리 적용하도록 하겠습니다. 데이터셋 로드 및 정규화 과정은 아래 코드를 참고해주시면 됩니다. from sklearn.datasets import load_iris from sk..

Python/Sklearn 2022.02.12

[Sklearn] 파이썬 t-SNE 차원 축소 시각화 예제

Python tsne 이용 2차원, 3차원 시각화 안녕하세요. 이번 글에서는 파이썬 사이킷런 라이브러리를 이용하여 t-SNE로 2차원 혹은 3차원으로 데이터 차원을 축소한 상태의 시각화를 진행하는 방법에 대해서 살펴보겠습니다. t-SNE 시각화 사용 이유, 장점 데이터의 분포를 살펴보는 과정에서 처음에 각 class의 분포를 시각화를 통하여 개략적으로 살피는 것이 도움이 많이 됩니다. 그러나, feature가 4종류 이상인 경우, 4차원 이상의 데이터는 직접 시각화가 어렵습니다. 따라서, 보통 시각화가 편리한 2차원이나 3차원으로 차원 축소를 진행 후, 실제 feature가 아닌 축소된 주성분을 기준으로 분포를 간접적으로 시각화하게 됩니다. 이 과정에서, 차원 축소 방법으로는 PCA, t-SNE 등 방법..

Python/Sklearn 2022.02.10

[Sklearn] 파이썬 학습 데이터, 테스트 데이터 분리 : train_test_split

사이킷런 train / test 데이터 셋 분리 함수 사용법 정리 안녕하세요. 이번 글에서는 파이썬 scikit-learn 라이브러리에서 학습 데이터와 테스트 데이터를 원하는 조건으로 쉽게 분리 가능한 train_test_split 함수의 사용 방법에 대해서 정리해보도록 하겠습니다. 우선, 아주 간단한 1000개 행을 가진 데이터셋을 가정해보도록 하겠습니다. feature는 3가지로, class label은 0과 1의 2가지로 설정해보았습니다. import pandas as pd import numpy as np a = {'feature 1' : np.random.random(1000), 'feature 2' : np.random.random(1000), 'feature 3' : np.random.ran..

Python/Sklearn 2022.02.01

[Sklearn] 파이썬 로지스틱 회귀분석 예제(사이킷런 유방암 데이터셋)

파이썬 사이킷런 로지스틱 회귀분석 이번 글에서는 사이킷런의 유방암 데이터셋을 활용하여, 로지스틱 회귀 모델을 학습시켜보고, 성능 평가까지 진행하는 예제를 간단히 살펴보도록 하겠습니다. 사이킷런 유방암 데이터셋 불러오기 유방암 데이터셋을 불러오고, 데이터프레임으로 만드는 예시 코드입니다. 총 30가지 종류의 feature가 있지만, 여기서는 대표적으로 4가지 feature만 사용하여 로지스틱 모델 학습을 진행해보도록 하겠습니다. import pandas as pd from sklearn import datasets # 유방암 데이터셋 로드 data = datasets.load_breast_cancer() df = pd.DataFrame(data.data, columns = data.feature_names..

Python/Sklearn 2022.01.12
반응형