インタラクティブな可視化
可視化のコードの勉強をしている.今回はインタラクティブな可視化を可能にしてくれるploty というライブラリを使ってみた.
これを使うとマウスを用いて図を操作できるようになる.
# 必要なライブラリのインポート
!pip install umap-learn
import numpy as np
import pandas as pd
from sklearn.datasets import load_digits
import umap
import plotly.express as px
# データセットの読み込み(手書き数字データセット)
digits = load_digits()
X = digits.data
y = digits.target
# UMAPによる次元削減(3次元)
reducer = umap.UMAP(n_components=3, random_state=42)
X_umap = reducer.fit_transform(X)
# データフレームの作成
df = pd.DataFrame({
'UMAP1': X_umap[:, 0],
'UMAP2': X_umap[:, 1],
'UMAP3': X_umap[:, 2],
'Digit': y
})
# Plotlyによるインタラクティブな3D散布図の作成
fig = px.scatter_3d(
df,
x='UMAP1',
y='UMAP2',
z='UMAP3',
color='Digit',
title='3次元可視化',
labels={'Digit': '数字'},
width=800,
height=600
)
# グラフの表示
fig.show()