반응형

Python 378

[Pandas] 파이썬 데이터프레임 원핫인코딩 함수 : get_dummies() 사용법

파이썬 판다스 one-hot encoding 함수 예제 파이썬 데이터프레임에서 범주형 column에 대하여 원핫인코딩을 손쉽게 진행하는 방법을 pandas의 get_dummies() 함수의 사용 예시를 통해서 다루어보도록 하겠습니다. 아래와 같이 숫자형 컬럼 2개와 범주형 컬럼 2개로 구성된 데이터프레임을 가정하겠습니다. import pandas as pd import numpy as np a = {'A' : [1, 2, 3, 4, 5, 6], 'B' : [10, 20, 30, 40, 50, 60], 'class' : ['가', '가', '나', '나', '다', '다'], 'level' : ['A', 'A', 'A', 'B', 'B', np.nan]} df = pd.DataFrame(a) df 기본 사..

Python/Pandas 2022.06.02

[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

[Pandas] 파이썬 IQR 기반 이상치(outlier) 탐지 및 제거 방법

파이썬 판다스 이상값 찾기, 처리 예제 파이썬의 데이터프레임 내에서 각 열 내에서 이상치(outlier)를 찾아보고 이를 제거해보는 방법을 간단한 예제를 통하여 이해하기 쉽게 다루어보도록 하겠습니다. 여기서는 IQR을 기반으로 이상치를 탐지하는 예시를 다루었으며, 이상치의 기준은 아래와 같습니다. Q3 : 100개의 데이터로 가정 시, 25번째로 높은 값에 해당합니다. Q1 : 100개의 데이터로 가정 시, 75번째로 높은 값에 해당합니다. IQR : Q3 - Q1의 차이를 의미합니다. 이상치 : Q3 + 1.5 * IQR보다 높거나 Q1 - 1.5 * IQR보다 낮은 값을 의미합니다. 참고로, outlier의 경계 기준은 데이터의 분포와 사용하는 상황에 맞게 조절할 수 있습니다. 이해를 돕기 위하여 아..

Python/Pandas 2022.05.30

[Matplotlib] 파이썬 그래프 사이의 영역 색칠하기 : plt.fill_between()

파이썬 plt 그래프 사이 공간 채우기 함수 사용법 파이썬에서 그래프 사이의 영역을 색칠할 수 있는 함수인 plt.fill_between() 함수의 사용법에 대하여 예제를 통해 살펴보겠습니다. plt.fill_between() 함수 기본 원리 아래 그림처럼 x축의 값들을 공유하고 y축의 값이 다른 초록색, 노란색의 그래프 두 개가 있다고 가정해보도록 하겠습니다. 두 그래프 사이의 공간을 색칠한다면 빗금친 주황색 영역처럼 채워지겠지요. fill_between 함수의 사용법은 plt.fill_between(x, y1, y2)와 같이 공유할 x값과 두 그래프의 y값에 매칭되는 y1, y2를 인자로 주면 되며, 결과로는 위의 예시처럼 그래프 사이에 해당하는 공간을 채우게 해줍니다. 위의 그림에 표현한 상황에 대..

Python/Matplotlib 2022.05.26

코랩(Colab) 사이트가 빈 화면으로 등장하며 실행이 안될 때 해결법

구글 코랩(Google Colab) 실행 오류 해결법 구글 코랩 사이트에 접속 시, 빈 화면으로 등장하면서 실행이 제대로 되지 않는 경우가 있습니다. 이 경우, Colab이 정상 실행될 수 있는 해결법을 정리해보도록 하겠습니다. 크롬(Chrome) 브라우저의 버전이 오래된 경우 크롬 브라우저 환경에서 코랩을 사용하려는 경우, Chrome 버전이 구버전인 경우 빈 화면으로 뜨면서 정상 실행이 되지 않을 수 있습니다. 이 경우, 크롬 브라우저 업데이트 진행 후 구글 코랩 사이트에 다시 접속하시면 정상적으로 실행이 되는 것을 확인할 수 있습니다. Chrome 업데이트 방법은 아래의 글을 참고하세요. (참고 : 버전이 너무 오래된 경우에 때로는 크롬 재설치가 필요할 수도 있습니다.) Chrome 업데이트 - 컴..

Python/Debugging 2022.05.25

transformers 모듈 model.generate() 과정 shape 관련 오류 해결

transformers generate 함수 RuntimeError, ValueError 디버깅 transformers 라이브러리의 generate 함수 사용 중 shape 미스매칭으로 인하여 발생할 수 있는 두 가지 오류에 대하여 정리해보도록 하겠습니다. 1. 추가 dimension을 가지는 경우 RuntimeError: The size of tensor a (100) must match the size of tensor b (10) at non-singleton dimension 1 2. 단일 sequence일 때, 추가 dimension이 필요한 경우 ValueError: not enough values to unpack (expected 2, got 1) 정상 실행 코드 예시 예를 들어, 100 ..

Python/Debugging 2022.05.24

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

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

Python/Sklearn 2022.05.24

[Pandas] 데이터프레임에서 열/행/그룹별/전체 최댓값, 최솟값 구하기(df.max(), df.min())

파이썬 판다스 max, min 탐색 방법 예제 파이썬에서 판다스 모듈을 활용하여 최댓값과 최솟값을 찾는 방법들을 특정 컬럼, 특정 row, 그룹별, 그리고 데이터프레임 전체에 대하여 예시를 들면서 다루어보도록 하겠습니다. 이해를 돕기 위하여, 아래와 같이 학생들의 과목별 점수가 담긴 데이터프레임 df를 가정하고 최댓값, 최솟값을 구하는 예시를 살펴보겠습니다. import pandas as pd a = {'이름' : ['AAA', 'BBB', 'CCC', 'DDD', 'EEE', 'FFF'], '반' : ['A', 'A', 'A', 'B', 'B', 'B'], \ '국어' : [70, 95, 80, 60, 75, 90], '영어' : [80, 85, 75, 90, 65, 70], '수학' : [100, 8..

Python/Pandas 2022.05.23

[Pandas] 데이터프레임에서 가장 많이(또는 적게) 등장한 값, 횟수 찾기

파이썬 판다스 최빈값, 등장 횟수 추출 방법 판다스 모듈을 이용하여 파이썬 데이터프레임에서 가장 많이 혹은 적게 등장한 값과 해당 값의 등장 횟수를 추출하는 방법을 정리해보도록 하겠습니다. 이해를 돕기 위하여, 아래와 같은 간단한 데이터프레임 df를 예시로 들어 설명하겠습니다. import pandas as pd a = {'A' : ['가', '가', '가', '나', '나', '다'], 'B' : [10, 5, 3, 5, 5, 8]} df = pd.DataFrame(a) df 1. value_counts를 이용한 방법 먼저, 각 값의 등장 횟수를 세어주는 value_counts를 이용하여 최빈값을 추출할 수 있습니다. A열을 기준으로 value_counts를 적용한 결과는 다음과 같습니다. df.val..

Python/Pandas 2022.05.23

파이썬 2차원 배열 선언, 값 추출/변경, 정렬(feat. 리스트, 넘파이 배열)

Python 2차원 array 다루기 예제(리스트 vs np.array) 파이썬에서 행렬 형태의 2차원 배열을 선언해보고 값을 추출/변경하며 내부 배열을 기준으로 정렬하는 방법들에 대해서 리스트를 활용한 방법과 Numpy array를 활용한 경우로 나누어 다루어보도록 하겠습니다. 1. 리스트를 활용한 2차원 배열(이중 리스트) 2차원 리스트 배열 선언 리스트에서는 2차원 배열을 선언할 때, 이중 for문을 사용하는 것이 가장 편리합니다. 바깥 for문에서 내부 배열의 리스트를 추가해주고 안쪽 for문에서는 각 내부 배열에 새로운 값을 추가해주는 방식입니다. 참고로, 각 내부 배열의 원소 개수가 모두 같지 않아도 됩니다. 모든 원소가 0인 4 * 3 크기의 배열 선언 예시는 아래와 같습니다. arr = [..

반응형