0
0

More than 1 year has passed since last update.

【Pythonで可視化グラフ】平行座標プロット

Last updated at Posted at 2022-12-14

メーカー研究開発に携わるプログラミング初心者が学んだことを必要最小限にまとめた記事です。

平行座標プロット

派手で見栄えするので使えたらかっこいい。

何を表現できるか

多変量間の関係性を表現できる。正の相関が見られる場合は線の交差が少なく、負の相関が見られる場合は線の交差が多くなる。また、グループごとの傾向を表現することにも適する。

Pythonコード

まずはseabornよりアヤメ(iris)データセットをインポートする。

#seabornのirisデータセットをインポート
import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()

image.png

アヤメデータをplotlyで平行座標プロットする。

#グラフライブラリplotlyの平行座標プロット
import plotly.express as px
fig = px.parallel_coordinates(data_frame=iris, dimensions = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width'])
fig.show()

image.png

アヤメの品種ごとに色分けする。
まず、品種(カテゴリ変数)を0, 1, 2に置き換える。

#speciesごとにラベルエンコーディング(カテゴリ変数に数値を割り振る)
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
iris['species'] = le.fit_transform(iris['species'])

その後、plotlyで品種ごとに色分けを指定する。

#アヤメの品種ごとに平行座標プロットの色分け
#colorの引数は数値データしか対応しないため、事前にカテゴリ変数をラベルエンコーディングした
fig = px.parallel_coordinates(data_frame=iris, color = 'species',
                              dimensions = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width'])
fig.show()

image.png

タイトルは.update_layoutで追加できる。

#タイトルをつける
fig.update_layout(title_text = 'Iris', 
                title_x=0.5,
                title_y=1          
)

image.png

こんなデータに使いたい

クラスター解析でわかったグループごとの変動パターンを可視化

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0