반응형

Python 378

[Matplotlib] 그래프 스타일 설정 및 초기화 방법

파이썬 Matplotlib style sheet 지정 방법 안녕하세요. 이번 시간에는 파이썬의 matplotlib 라이브러리에서 그래프의 스타일을 정하는 방법 및 기본 스타일로 초기화하는 법에 대해서 간략하게 살펴보도록 하겠습니다. 그래프 스타일 시트 설정하기 : style.use 함수 matplotlib에서 style sheet를 변경하기 위해서는 style.use 함수에 원하는 스타일의 종류를 적어주시면 손쉽게 완료할 수 있습니다. 예시로, seaborn에서 제공하는 타입의 그래프를 그려보고 싶다고 가정해보겠습니다. import matplotlib.pyplot as plt from matplotlib.pyplot import style style.use('seaborn') 위의 소스 코드를 입력 후,..

Python/Matplotlib 2022.02.22

[Pandas] pd.where 사용법, 경우의 수 정리

판다스 where 함수 Series, DataFrame 사용 예제 안녕하세요. 이번 글에서는 pandas 라이브러리에서 시리즈 혹은 데이터프레임 내 조건 탐색 및 대치에 활용되는 pd.where 함수의 사용법에 대한 예제를 살펴보도록 하겠습니다. 참고로, 이 글은 판다스 공식 문서의 pd.where 함수 설명 글을 바탕으로 작성되었음을 알립니다. Series에 적용 케이스 1 : 조건 만족 행 필터링 먼저, 열 1개에 해당하는 Series 자료형에 where 함수를 적용하는 예시를 살펴보겠습니다. 아래와 같은 5개의 원소를 가진 간단한 시리즈를 생각해보겠습니다. import pandas as pd sr = pd.Series([1, 5, 3, 2, 4]) sr ### 0 1 1 5 2 3 3 2 4 4 d..

Python/Pandas 2022.02.20

[Scipy] 파이썬 상관계수 구하기 함수 정리(피어슨, 스피어만, 켄달)

파이썬 상관계수 함수 종류 및 사용법 안녕하세요. 이번 글에서는 파이썬의 scipy 패키지를 이용하여 두 데이터의 피어슨 및 스피어만 상관계수 그리고 kendall 상관계수를 손쉽게 구하는 방법에 대하여 살펴보도록 하겠습니다. 먼저, 아래와 같이 0~9 숫자의 x1 데이터와 0~9의 제곱수에 2를 나눈 x2 데이터가 있다고 가정해보도록 하겠습니다. import numpy as np import matplotlib.pyplot as plt x1 = np.arange(10) x2 = x1 ** 2 / 2 plt.scatter(x1, x1, color = 'red', label = 'x1', alpha = 0.55) plt.scatter(x1, x2, color = 'blue', label = 'x2', al..

Python/Scipy 2022.02.20

[Tensorflow] 학습 과정 중 validation loss, accuracy 출력 방법

텐서플로우 epoch마다 validation loss, 정확도 표시하기 텐서플로우에서 모델 학습 과정 중 학습 데이터의 loss 및 정확도 뿐 아니라, 검증(테스트) 데이터에 대한 중간 결과를 각 epoch마다 확인할 수 있는 방법에 대해서 간략하게 살펴보도록 하겠습니다. 예를 들어, 분류 관련 task에서 x_train, y_train이 학습 데이터 셋과 라벨을 구성하고 있고, x_valid, y_valid가 검증 데이터 셋과 라벨을 담고 있는 변수라고 가정해보겠습니다. 참고 : x_test, y_test같은 테스트 데이터와 라벨을 validation set 대신 사용도 가능합니다. Train loss, accuracy만 표시한 경우 모델 학습 과정의 fit 단계에서 validation data를 설정..

Python/Tensorflow 2022.02.19

[Tensorflow] 과적합 방지 조기 종료 설정 : EarlyStopping

텐서플로우 콜백 함수 EarlyStopping 사용 방법, 원리 안녕하세요. 이번 시간에는 텐서플로우에서 학습 조기 종료 조건을 설정할 수 있는 callback 함수인 EarlyStopping의 사용 예시와 과적합 방지 원리에 대하여 간단하게 살펴보도록 하겠습니다. EarlyStopping 적용 방법 텐서플로우 내에서 EarlyStopping을 모델 학습 과정에 적용시키기 위해서는 우선, 조기 종료 callback 함수의 판정 기준을 아래 코드 처럼 선언해줍시다. callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=3) 여기서, monitor는 판정 기준의 지표를 결정하는 것이며, 과적합 방지가 목적이라면 'val_loss'를..

Python/Tensorflow 2022.02.18

[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

[Matplotlib] 파이썬 y축 양쪽으로 2개 설정하기

파이썬 이중 y축 그리는 방법 안녕하세요. 이번 글에서는 파이썬 matplotlib에서 subplot의 속성을 이용하여 서로 다른 y축을 가지는 이중 축 그래프를 그리는 방법에 대해서 살펴보도록 하겠습니다. 단일 y축 그래프 예시 먼저, 이중 축을 설정하지 않고 단일 축으로 두 그래프를 그린 간단한 예시를 보겠습니다. import matplotlib.pyplot as plt x = [1, 2, 3, 4] y1 = [12, 13, 9, 14] y2 = [1000, 750, 1100, 850] plt.plot(x, y1, color = 'red', alpha = 0.5) plt.plot(x, y2, color = 'blue', alpha = 0.5) plt.show() 두 그래프의 y축 값을 나타내는 y1,..

Python/Matplotlib 2022.02.16

[Matplotlib] 파이썬 워드 클라우드(Word Cloud) 시각화 예제

Python 워드 클라우드 색상, 크기, 모양 지정 방법 정리 안녕하세요. 이번 글에서는 파이썬의 WordCloud 라이브러리를 활용하여 단어의 빈도를 한 눈에 시각화할 수 있는 워드 클라우드를 그려보고 컬러맵, 크기, 모양 등의 속성을 변경하는 방법에 대하여 정리해보도록 하겠습니다. 파이썬 워드 클라우드 기본 예제 예를 들어, 단어의 빈도가 아래와 같은 데이터프레임으로 결과가 요약되었다고 가정해보고 이를 기반으로 워드 클라우드를 생성해보도록 하겠습니다. (편의상 두개의 열로 잘라서 표현되었지만, 실제로는 AAA ~ ZZZ의 26개 행이 1개의 열입니다.) 워드 클라우드 생성에는 matplotlib 라이브러리와 WordCloud 라이브러리가 필요합니다. 기본 설정으로 워드 클라우드를 그리는 방법은 아래와..

Python/Matplotlib 2022.02.15

[Pandas] 데이터프레임 생략 없이 출력 방법(display 옵션)

파이썬 판다스 모든 행, 열 출력 하기 판다스 라이브러리를 이용하여 데이터프레임을 출력할 때, 행이나 열 개수가 너무 많은 경우 일부가 생략되어 보이면서 불편한 경우가 있습니다. 이번 시간에는 display 옵션을 통하여 출력될 행, 열의 개수를 조정하여 생략 없이 모든 데이터프레임의 값을 볼 수 있는 방법을 말씀드리겠습니다. 행 최대 출력 개수 변경 pd.set_option('display.max_rows', 숫자) 위의 코드 한줄에 원하는 숫자를 입력하여 출력되는 행의 최대 개수를 변경하실 수 있습니다. 단, 행 개수에 관계없이 데이터프레임의 모든 행을 출력하는 방법은 숫자 부분에 None을 입력해주시면 됩니다. 다만, 데이터프레임이 매우 큰 경우에는 속도 감소 및 튕김 현상 등이 발생 가능하니 사용..

Python/Pandas 2022.02.14
반응형