반응형

Python/Sklearn 23

[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

[Sklearn] K-means 클러스터링 (K-평균 알고리즘) 파이썬 구현 + 시각화, Elbow Method

이번 글에서는 비지도 학습의 대표적 알고리즘인 K-means Clustering을 파이썬 사이킷런에서 구현해보는 예제를 다루어보겠습니다. 클러스터링 데이터 불러오기 먼저, 데이터를 불러오도록 하겠습니다. 이번 글에서는 kaggle의 Mall Customers Clustering Analysis 데이터 셋을 사용했습니다. 데이터프레임의 생김새는 아래와 같습니다. 저희는 이 중에서 Annual Income 정보와 Spending Score 정보 두 가지만을 이용하여 고객들을 클러스터링 해보도록 하겠습니다. K-평균 군집화 알고리즘 전처리 먼저, 필요한 column만 골라낸 뒤에 k-means 클러스터링에 필수적인 정규화를 진행해보도록 하겠습니다. 여기서는 각 column의 최소값을 0, 최대값을 1에 매핑한..

Python/Sklearn 2021.12.06

[Sklearn] 파이썬 k-NN 알고리즘(k-최근접 이웃) 예제

지도 학습 알고리즘 중 하나인 k-NN 알고리즘의 파이썬 구현 예제에 대해서 살펴보겠습니다. k-최근접 이웃 알고리즘은 새로운 데이터에 대해서 가장 가까운 기존의 k개 데이터를 살펴 k개 데이터 중 가장 많은 비율을 차지하는 class로 분류하는 분류 알고리즘인데요. 예를 들어, 테스트 데이터에 새로운 사진 A가 들어왔다고 가정해봅시다. k = 9로 정했을 때, 새로운 사진 A에서 9개의 가장 가까운 사진 중 6개가 고양이, 3개가 강아지 라벨이었다면, A는 고양이 사진으로 분류하는 예제라고 볼 수 있겠지요. 파이썬 사이킷런 k-NN 알고리즘 전처리 k-NN 알고리즘을 구현하기 위해서 필요한 간단한 전처리 과정을 먼저 수행하도록 하겠습니다. 먼저, 데이터셋을 불러오고 학습 데이터 셋 및 테스트 데이터 셋..

Python/Sklearn 2021.11.29
반응형