분석 Python/Visualization(47)
-
Windows 10) Superset Install Guide (locally)
라이센스 Apache 2.0 패키지 버전 : 2.1.0 python : 3.8, 3.9, 3.10, 3.11 windows 10에서 superset을 아직 지원하지 않기 때문에 도커를 사용해야 한다. 그래서 이 글에서는 windows 10에서 docker를 이용해서 설치하는 것을 해보려고 한다. 일단 docker desktop on windows를 먼저 설치해 보자 Install Docker Desktop on Windows 이 글의 목적은 superset 설치를 하는 것이기 때문에 docker desktop은 아래 문서를 참조해서 설치해 주시기 바란다. https://docs.docker.com/desktop/install/windows-install/ Install Docker Desktop on W..
2023.08.21 -
[ Python ] jpg, png 를 gif 또는 mp4로 만들기
jpg를 gif로 만들려는데, 먼가 잘 안돼서 이것저것 하다가 아는 형의 코드를 참고해서 결국 성공하게 되었다. 이 글에서 포인트는 다음과 같다. 1. 각 이미지 사이즈가 다른 것이 있어서 사이즈를 맞춰주는 작업이 필요함. 2.기존에 하던 방식을 했는데, 작동하지 않아서 새로운 방법으로 gif를 만들었음. 기존 방식) 아래와 같은 방법이 작동하지 않았다. GIF import os os.system('convert -delay 15 -loop 0 ./pngs/*.png ./UI.gif') 일단 이미지 사이즈가 다르니 이미지 사이즈를 맞춰줬다. 사진이 뭉개질까봐 가장 작은 사이즈 기준으로 맞췄다. from PIL import Image import cv2 result = [] for idx , path in..
2022.05.22 -
pybaobabdt) DT Tree Visualization 해보기
목차 패키지 설치 sudo apt-get install graphviz graphviz-dev pip install pygraphviz pip install pybaobabdt 라이브러리 로드 import pybaobabdt import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.ensemble import RandomForestClassifier import matplotlib.pyplot as plt import matplotlib from sklearn import datasets pybaobabdt 패키지는 시각화에 대한 새로운 관점을 제공합니다. 주요 아이디어는 의미 있는 시각화를 통해 사용자가 트리를 이해..
2021.12.18 -
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 -
python) treemap 알아보기
시각화 도구에 대해서 여러 가지 많이 시도해보는 것이 좋을 것 같아 정리를 하나씩 해보고자 한다. 이번 글에서는 시각화 기법중에서 많은 계층 구조 데이터를 표현할 때 적합한 treemap에 대해서 소개하고자 한다. treemap이라는 시각화 기법은 Ben Shneiderman(American computer scientist and professor at the University of Maryland)에 의해서 1990년도에 처음 사용되어졌다 시각화의 공간은 양적 변수에 의해 크기와 순서가 정해지는 사각형으로 분할된다. 트리 맵의 계층에서 수준은 다른 사각형을 포함하는 사각형으로 시각화된다. 계층에서 동일한 수준에 속하는 각 사각형 집합은 데이터 테이블의 표현식 또는 컬럼을 나타난다. 계층에서 동일한 ..
2021.04.29 -
[Visualization] Learning Curve를 이용하여 시각화하기(Train/Valid)
def plot_learning_curve(estimator, title, X, y, ylim=None, cv=None, n_jobs=1, train_sizes=np.linspace(.1, 1.0, 5)): plt.figure() plt.title(title) if ylim is not None: plt.ylim(*ylim) plt.xlabel("Training examples") plt.ylabel("Score") train_sizes, train_scores, test_scores = learning_curve( estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes) train_scores_mean = np.mean(train_scores, ..
2020.12.18 -
[Visualization] keras 결과물(history) 시각화하는 함수
keras를 사용하면 쉽게 결과물들을 저장을 할 수 있다. 이런 식으로 metrics에 제공하는 함수나, 함수를 만들면 fitting 할 때 저 부분들에 대해서 epoch 마다 저장을 해준다. model.compile(loss = keras.losses.BinaryCrossentropy(label_smoothing = 0.0), optimizer = adam, metrics =['accuracy',get_f1]) 실제로 fit을 하게 됬을 때, validation_data를 넣으면 `val_accuracy` 와 `val_get_f1` 형태로 저장이 된다. history = model.fit(train, train_y, validation_data=(valid, valid_y), ) 다음과 같이 dict ..
2020.11.21 -
[Visualization] x 축에 있는 margin 제거하기 (2/2)
2020/11/19 - [분석 Python/Visualization] - [Visualization] x 축에 중복된 이름 잘 시각화하기 (xticks) (1/2) 2020/11/19 - [분류 전체보기] - [Visualization] x 축에 있는 margin 제거하기 (2/2) 지난번 그림이다. 이 그림에서 그림을 예쁘게 처리하기 위해서는 저 마진을 없애면 좋을 것이다. 실제로 저것과 관련된 것을 찾아보니 결국 x 축의 limit를 줄이는 방향이면 가능하다. 그러면 어떤 것을 얼마나 줄여야 하는 걸까? 바로 xticks 에서 나오는 ticks 의 최소 최대를 건드려주면 되는 것 같다. ## 이전 코드 참고! plt.figure(figsize=(17,17)) plt.subplots_adjust(lef..
2020.11.19 -
[Visualization] x 축에 중복된 이름 잘 시각화하기 (xticks) (1/2)
2020/11/19 - [분석 Python/Visualization] - [Visualization] x 축에 중복된 이름 잘 시각화하기 (xticks) (1/2) 2020/11/19 - [분류 전체보기] - [Visualization] x 축에 있는 margin 제거하기 (2/2) index = np.random.choice(list("abcdefghijklmn"),size=100).reshape(-1,1) y = np.random.normal(size=100).reshape(-1,1) result = pd.DataFrame(np.concatenate([index,y],axis=1),columns=["name","target"]) result = result.sort_values(["name"]) 보통..
2020.11.19 -
[TIP / Vis ][plotly] 변수 중요도 시각화 하기 (bar_polar , bar plot)
패키지 로드 import pandas as pd import numpy as np from sklearn.ensemble import RandomForestRegressor import plotly.express as px from sklearn.datasets import load_boston 데이터 준비 및 적합시키기. data_info = load_boston(return_X_y=False) print(data_info.keys()) # dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename']) x = pd.DataFrame(data_info["data"], columns = data_info["feature_names"]) y = pd..
2020.10.10 -
[Visualization] Interact Clustering with Kmeans (with any data)(continuous)
이번에 k-means를 이용해서 interact plot을 그려보는 것을 해볼 일이 있어서 서칭을 하다 보니, iris로 k-means를 활용해서 시각화한 것을 찾았다. 그래서 좀 더 확장하여 클래스로 만들어서 다양한 데이터가 들어왔을 때 적용할 수 있게 바꿔봤다. 일부 코드 중에 수정할 부분이 있어서 수정함 (argmax 보다는 dictionary로 관리를 해야 정확한 값을 뽑을 수 있음) 해당 글을 들어가면 잘 설명을 해줄 테니, 기술적인 내용은 들어가서 확인해주시기 바란다! 아주 대충 설명한다고 하면 cluster 예측값 각각에서 실제 값의 빈도를 세었을 때, 가장 많은 빈도를 가진 클래스로 매핑을 시켜줘서 라벨을 붙인다. 그리고 참고로 알다시피 k-means 같은 경우 거리 기반이 주로 유클리디안..
2020.10.09 -
[Python] 2개 모델 비교하여 시각화 (binary case)
def vis(probs=[None,None],claess=[None,None],model_names=[None,None],label=None) : plt.style.use('dark_background') fig , ax = plt.subplots(1 , figsize = (15,15)) plt.scatter(probs[0] , probs[1] , c = valid_y , cmap='Set3' , s = 10 , alpha = 1.0) ax.grid(b=False) plt.xlabel(model_names[0] , fontsize =20) plt.ylabel(model_names[1] , fontsize =20) cbar = plt.colorbar(boundaries=np.array([0,1,3])) ..
2020.10.01