seaborn(12)
-
python) histogram 알아보기
이번에는 histplot에 대해서 정리해보려고 한다. 확률 값을 density plot으로 표현하는 것보다 오히려 histogram으로 bins를 여러 개 쪼개는 것도 효과적이라는 생각을 가지게 되었기 때문이고 이것에 대해서 정리해보고자 한다. import seaborn as sns import matplotlib.pyplot as plt penguins = sns.load_dataset("penguins") sns.histplot(data=penguins, x="flipper_length_mm") bins 추가 fig, axes = plt.subplots(nrows=2, ncols=1) axes = axes.flatten() sns.histplot(data=penguins, x="flipper_leng..
2021.05.01 -
[seaborn] clustermap, heatmap으로 시각화하기
import seaborn as sns import sklearn from sklearn.datasets import load_diabetes , load_wine data_dict = load_wine() data = pd.DataFrame(data_dict.data,columns=data_dict.feature_names) lut = dict(zip(data_dict.target_names, "rbg")) change = dict(zip(np.unique(data_dict.target) , data_dict.target_names)) row_colors = pd.Series(data_dict.target).map(change).map(lut) change , lut Correlation Cluster..
2020.08.20 -
seaborn에 FacetGrid 를 활용해서 다중 플랏 해보기
import pandas as pd import seaborn as sns from sklearn.datasets import load_iris def make_df(dict_) : pd_result = pd.DataFrame(dict_["data"]) if dict_.get("feature_names",None) is not None : pd_result.columns = dict_["feature_names"] if dict_.get("target",None) is not None : pd_result["target"] = dict_["target"] if dict_.get("target_names", None) is not None : d = dict(zip(np.unique(dict_["targe..
2020.07.02 -
seaborn layout 동적으로 만드는 방법 소개
python에서는 시각화를 할 때 이쁘게 그려주는 seaborn을 많이들 사용한다. seaborn을 사용할 때 subplot을 어떻게 주면 좋을지에 대해서 발견한 코드를 공유한다. import seaborn as sns import pandas as pd titanic = pd.read_csv("./../DATA/train.csv") titanic.head() 아래 코드에서는 컬럼을 몇 열로 할지만 정해주면 동적으로 행을 채워준다. categorical_vars = ['Survived','Pclass','Sex','SibSp','Parch','Cabin','Embarked'] num_plots = len(categorical_vars) total_cols = 3 total_rows = num_plots/..
2020.04.19 -
subplot zip을 사용해서 쉽게 나열해서 시각화하기 (seaborn boxplot)
아래 그림처럼 a , a.1 같은 데이터를 다르게 처리한 후 옆에 시각화해서 보고 싶을 때가 있다. 사실 전체 루프를 돌려도 되지만, 쉬운 방법이 있어서 공유한다. import matplot.pyplot as plt pair = list(zip(['a', 'b', 'c', 'd', 'e'], ['a.1', 'b.1', 'c.1', 'd.1', 'e.1'])) ## 이미지 크기 및 subplots 개수 조절 fig , ax = plt.subplots(len(pair),2,figsize=(5,10)) ## 여백 조정 plt.subplots_adjust(left=0.2, bottom=0.05, right=0.99, top=0.99, wspace=0.6, hspace=0.3) axes = ax.flatten()..
2020.04.08 -
[ Python ] 시각화 여러 개의 그래프 형태 - 1
그림을 위에서는 2개로 나 누가 밑에는 그냥 1개의 직사각형으로 만들고 싶어서 찾아보고 공유한다. 아래 그림에서는 타겟별 train 확률 값 box plot과 test 확률 값 box plot 그리고 학습 곡선을 그리고 싶었다. fig , axes = plt.subplots(nrows=2 ,ncols=2, figsize=(20,10) ) plt.subplots_adjust(left=0.05, bottom=0.01, right=0.99, top=0.99, wspace=None, hspace=0.2) ax = axes.flatten() sns.boxplot(x="t", y="prob", data=DD , ax = ax[0]) ax[0].set_title("train : {:.3f}".format(AUC) ,..
2020.01.12 -
[ Python ] seaborn catplot 을 활용하여 시각화하기
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^ import seaborn as sns import os , pandas as pd import matplotlib.pyplot as plt import re 여러 개의 데이터를 합치는 작업이 필요해서 진행 folder = "Weather_Aus_Vis_" folder = "Income_Vis_" folder = "Bank_Vis_" folder = "Churn_Vis_" Income_uni = ["9", "16" , "7", "15", "6", "5", "2", "41"] Churn_uni = ["51", "3" , "2","2"] Bank_uni = ["12","3","4","2","2","2","3","12","4"] W..
2019.12.01 -
[ Python ] Cross Validation 병렬로 돌리고 BoxPlot 시각화
(상황) 여러 가지 테이블들이 있고 각각을 GBM으로 모델링을 하고 CrossValidation을 하고 나서 결과값을 box plot으로 시각화하고 싶다. Result라는 dictionary에 총 8개의 방법론을 사용해서 Imputation 된 값들이 들어가 있다. 이것들을 모델은 Gradient Boosting Machine 이용하고 CrossValidation을 진행하고 Boxplot을 그릴 것다. 시간이 오래 걸릴 것 같아서 joblib을 사용하여 Parallel 하게 돌리도록 했다. 모델링 ㄱㄱ! from joblib import Parallel, delayed from sklearn.model_selection import KFold from sklearn.ensemble import Gradi..
2019.11.07 -
[ Python ] 신뢰구간 시각화하기 (lineplot or fill_between)
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^ 시각화를 할 때 신뢰구간을 같이 그려줘야 하는 경우가 있다. 그때 단순히 선으로 표시를 해줄 수도 있고 영역을 색칠해서 표현하는 경우가 있는데, 여기선 영역을 색칠하는 경우에 대해서 알아보고자 한다. 간편하게 그리는 방법은 lineplot 일일이 그리는 방법 (fill_between) 사용하는 방법이 있다. seaborn lineplot timepoint 쌓아 놓으면 안에서 해주는 구조 import numpy as np import pandas as pd value = np.random.normal(loc = 0 , scale = 1.0 , size= (10000,1)) event = np.random.randint(0,2 ,..
2019.10.31 -
[ Python ] seaborn subplots x_ticklables rotate 하는 법
import seaborn as sns fig , axes = plt.subplots(1,2) axx = axes.flatten() g = sns.countplot(x="dt", data=tmp , hue = "occur" , ax = axx[0] ,) g.set_xticklabels(g.get_xticklabels(), rotation=45, horizontalalignment='right', fontweight='light', fontsize='x-small' ) g = sns.countplot(x="region", data=tmp , hue = "occur" , ax = axx[1]) g.set_xticklabels(g.get_xticklabels(), rotation=45, horizontalal..
2019.09.13 -
파이썬에서 R처럼 gather 함수와 자주 쓸 것 같은 시각화 코드
파이썬 시각화 연습 난 처음에 R로 배우다 보니, ggplot으로 많이 시각화를 한다. 거기서는 특히 dplyr에 gather와 혼합을 해서 사용을 하는데, 그것과 비슷한 개념으로 코딩을 하고 싶어서 찾아봤지만, 결론은 굳이 그렇게 할 필요가 없었다 파이썬에서는 좀 더 쉽게 저차원에서 시각화를 하다 보니 좀만 알면 쉽고 이쁘게 할 수가 있었다. 파이썬에서 gather를 하려면 melt를 잘 이용해야 한다! import pandas as pd import numpy as np names = [ 'Wilbur', 'Petunia', 'Gregory' ] a = [ 67, 80, 64 ] b = [ 56, 90, 50 ] df = pd.DataFrame({'names':names,'a':a,'b':b}) ##..
2019.07.06 -
Python Group 별로 Bar Graph 그릴 때,
그룹별로 시각화할 일이 있어서 찾아보는데, R과 같이 제공해주는 것도 있지만, 잘 생각해서 해야 하는 것도 있다 목적은 train과 test 별로 각각의 Category 비율 파악을 하는 것이 목적 f, ax = plt.subplots(3,4 , figsize = (20,20)) axx = ax.flatten() f2, ax2 = plt.subplots(3,4 , figsize = (20,20)) axx3 = ax2.flatten() for axx2 , axx4 , j in zip(axx, axx3, catcols) : #output = data.iloc[index_info[0]].reset_index(drop=True).iloc[idx][j].value_counts() tr = data.iloc[ind..
2019.06.09