Visualization(19)
-
hyper graph 관련해서 도움이 되는 글들
hypergraph에 대해서 자료를 하나씩 찾아보면서 정리 중이다. 아직 간단하게 개념적으로만 이해를 한 상태인 것 같다. 유익한 자료가 있으면 댓글로 공유 부탁드립니다 😁 시각화 https://towardsdatascience.com/how-to-visualize-hypergraphs-with-python-and-networkx-the-easy-way-4fe7babdf9ae How to visualize hypergraphs with Python and networkx — The Easy Way An easy method to draw some hypergraphs via standard graph visualization libraries. towardsdatascience.com 패키지 시각화 및 ..
2022.05.08 -
[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 축에 중복된 이름 잘 시각화하기 (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 -
[변수 선택] BorutaShap 활용 (Python)
이전에도 Boruta를 이용해서 리뷰를 한 적이 있는데, 이번에는 Shap과 Brouta를 결합한 패키지를 찾게 되어서 공유한다. 해당 패키지의 장점이라고 생각하는 점은 일단 SHAP을 이용해서 변수 선택을 한다는 것이 가장 마음에 들었고, 그리고 변수 선택에서 사용하는 알고리즘이 Tree Based 알고리즘은 다 되긴 하는데, XGB , CATBOOST, DT(sklearn), RF(sklearn)... ensemble method(sklearn)이다. 특히 xgb나 catboost 같이 category feature를 변환하지 않고 변수 선택 모델링할 수 있는 패키지를 사용할 수 있어서, 실제로 category에 대한 영향도를 더 잘 표현해줄 것으로 기대한다. Algorithm Start by cre..
2020.10.06 -
[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 -
[Python] scikitplot metric visualization (binary case)
확률값을 기반으로 시각화 scikitplot을 사용해서 이진 분류 관련된 메트릭들 시각화하기 Confusion Matrix Roc Curve KS-Test(Kolmogorov-Smirnov) Precision-Recall Curve Cumulative Gains Curve Lift Curve def metric_vis_binary(probs , y_label, classes=[1,2]) : import scikitplot as skplt plt.style.use('classic') fig , ax = plt.subplots(nrows=3 , ncols=2,figsize=(15,15)) axes = ax.flatten() skplt.metrics.plot_confusion_matrix(y_label , n..
2020.10.01 -
[Python] 결측치 시각화 missingno 사용하기
결측치에 대해서 시각적으로 보고 싶을 때 missingno가 쓸만한 것 같다. 해당 패키지를 자주 쓸것 같아서 간단하게 함수화를 해봤다. 보통 Train , Test를 나누니 그것을 기준으로 그려보는 것을 해봤다. import missingno as msno import matplotlib.pyplot as plt def msno_vis_train_test(train , test , graph_type = "bar" , fig_kws = {"figsize" : (20,5)}) : fig , ax = plt.subplots(1,2,figsize=fig_kws.get("figsize", (20,5)) ) axes = ax.flatten() if graph_type == "bar" : msno.bar(trai..
2020.07.23 -
Hiplot 으로 하이퍼 파라미터 시각화하기
우리가 열심히 모델링을 하다 보면 하이퍼 파라미터가 쌓이게 되고, 하이퍼 파라미 터들끼리를 비교해서 최적의 하이퍼 파라미터를 찾으려고 한다. 그럴 때 문제점은 하이퍼 파라미터의 수가 많아질수록 육안으로는 파악하기가 어렵다. 그래서 메트릭 기준으로 정렬을 해서 특정한 파라미터를 찾으려는 노력을 하지만 여전히 직관적으로 보기에는 어려움이 있다. 그래서 이번에는 Facebook에서 만든 파라미터 시각화로 Parallel Plots으로 시각화해주는 Hiplot 패키지를 써보고자 한다. 저장된 파라미터는 아래 csv에 있으니 참고하길 바란다. report = pd.read_csv("./save_parameter.csv") report.head() 여기서는 mse라는 데이터를 최소화하는 파라미터를 찾고자 한다. i..
2020.07.09 -
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 -
sinkhorn으로 동영상 만들어보기
https://colab.research.google.com/drive/1HZaJ4p2sjkXDUgIWsr0OsxP_IYNGRhbU#scrollTo=Tf53CGLvKNya Google Colaboratory colab.research.google.com 페이스북에 올라온 것을 한글이 가능하게 바꾸고 글자마다 색깔을 바꾸고 해봤습니다. 아마 지금 코드에서 바꿀 수 있는 색깔 수 때문에 글자수가 제한될 수 있으니, 그 부분만 수정하면 될 것 같습니다. !pip install tensorflow_gpu==1.15.0 import matplotlib as mpl import matplotlib.pyplot as plt %config InlineBackend.figure_format = 'retina' !apt ..
2020.05.27