AI E資格

ラビットチャレンジでE資格に挑戦 56日目

今日は、Matplotlib を学んだ。
色々グラフが描けて面白い。

■AIを学ぶ為の本格Python講座
PY20_Matplotlib
PY21_Matplotlib_いろいろな可視化

 

今日学んだこと

データを可視化するライブラリの有名どころに

Matplotlib
Seaborn

がある。

Matplotlib

いろんなデータをグラフ化等、可視化する。
画像データの分析ができる。
みんなに良く使われていて、機能が豊富

Seaborn

統計データに強い
グラフの見た目が良い。
Pandasと相性が良い。

なので、
通常使いはMatplotlib
人に見せるグラフを作るときはseabornと使い分けたらよい

Matplotlib

折れ線グラフ

import matplotlib.pyplot as plt
import numpy as np

1つ目の引数は横軸、2つ目は、縦軸の値になる。
plt.plot([1,2,3,4],[1,4,2,3])

色を変える。

赤線になる。
x=np.linspace(0,10,1000)
plt.plot(x,np.cos(x),color='red')

点線にする。
x=np.linspace(0,10,1000)
plt.plot(x,np.cos(x),color='red',linestyle='-.')

スタイルなど、どのようなオプションがあるかは、
チュートリアルサイトで確認できる。

https://matplotlib.org/stable/tutorials/index.html

散布図

折れ線グラフ同様にplt.plot()で可視化できる。
marker='o で各値に点を打つ。
散布図は、線は必要ないので、linestyleは空にする。

x=np.linspace(0,10,40)
plt.plot(x,np.cos(x),marker='o',linestyle='')

 

linestyleを指定して、線と点を両方描くこともできる。
x=np.linspace(0,10,40)
plt.plot(x,np.cos(x),marker='o',linestyle='-')

plt.scatter()で、より複雑な散布図を描ける。
値ごとに色、サイズを変えることができる。

plt.scatter(
np.random.randn(100),
np.random.randn(100),
c=np.random.randn(100),
s=np.random.randn(100)*200,
alpha=0.5
)

※alphaは透明度

密度

plt.contour ⇒3次元のデータを表現するのに便利。

複雑なものも表現できる。

def f(x,y):
return np.cos(x) ** 10 + np.sin(10+y*x)*np.sin(x)

x=np.linspace(0,5,50)
y=np.linspace(0,5,40)

X,Y=np.meshgrid(x,y)
Xが横軸、Yが縦軸、f(X,Y)は高さのイメージ
plt.contour(X,Y,f(X,Y))

plt.contourの代わりにplt.contourfを使うと
等高線ではなく、色分けで値を表現できる。

def f(x,y):
return np.cos(x) ** 10 + np.sin(10+y*x)*np.sin(x)

x=np.linspace(0,5,50)
y=np.linspace(0,5,40)

X,Y=np.meshgrid(x,y)
plt.contourf(X,Y,f(X,Y))

 

ヒストグラム

plt.hist(np.random.randn(1000))

何もしないとデフォルトで、10個のグループに分ける

binsを使って、分割数を変更できる。

plt.hist(np.random.randn(1000), bins=50)

 

 

勉強時間

今日: 0.5時間

総勉強時間: 34.5時間

 

お得キャンペーンの紹介

ラビットチャレンジの
Amazonギフト券「5,000円」プレゼントキャンペーンのお知らせ

申込時に、以下コードを使えば、入会金が5000円引かれるようです。
また、紹介した僕にも5000円のAmazonギフト券が送られるようです。
お得なので、よかったら申込時お使いください。

紹介コード:friend0019697

※本キャンペーンの期間は、 2021年9月15日~10月31日 です。

「お友達紹介キャンペーン」特設ページ:
https://ai99

-AI, E資格