前回ヒストグラムで描画し品種の違いを確認しましたが、今回は散布図を描画してみましょう。
目次
ヒストグラムと散布図の違いは?
散布図とヒストグラムはデータの分布を知るためのツールです。
また、データがどの辺に、どれだけあるのかを示すものが分布です。
ではヒストグラムと散布図はどのように使い分けたらいいのでしょうか。
ヒストグラム
データの分布を示します。
ある範囲にデータ数がいくつあるのかを棒グラフで表すことが出来ます。
散布図
2つのデータの関係性を示します。
2つの数値のペアを横軸と縦軸で測り、平面上にプロットすることでデータの傾向を確認することが出来ます。
もちろん分布も確認することが出来ます!
![](https://momotech-dao.com/wp-content/uploads/2024/05/image-20-1024x508.png)
おまけ
散布図は右肩上がりになっていれば、2つのデータは比例関係(正の相関)があると表されます。
逆に、右肩下がりであれば、反比例関係(負の相関)があると表されます。
⑥散布図で確認しよう
今回は、2つの特徴量を用いた散布図で表しましょう!
![](https://momotech-dao.com/wp-content/uploads/2024/05/image-26.png)
この命令を使って品種の違いを2次元グラフで確認しましょう。
今回のグラフは、横軸:がくの幅、縦軸:がくの長さに設定します。
主に下の図の流れで散布図を表示させます。
![](https://momotech-dao.com/wp-content/uploads/2024/05/image-30-1024x459.png)
コード
xx = "sepal width (cm)" #1
yy = "sepal length (cm)" #2
plt.figure(figsize=(5, 5))
plt.scatter(df0[xx], df0[yy], color="c", alpha=0.4)
plt.scatter(df1[xx], df1[yy], color="m", alpha=0.4)
plt.scatter(df2[xx], df2[yy], color="y", alpha=0.4)
plt.xlabel(xx)
plt.ylabel(yy)
plt.grid()
plt.show()
#1 sepal width (cm)列を1つ目の対象にする
#2 sepal length (cm)列を2つ目の対象にする
参考資料:Python3年生機械学習のしくみ
実行結果
![](https://momotech-dao.com/wp-content/uploads/2024/05/image-28-1024x990.png)
散布図を眺めると…下の図のような境界線が見えてきませんか?
![](https://momotech-dao.com/wp-content/uploads/2024/05/image-29-1024x803.png)
しかしこれでは2つの品種が重なっていて区別することができません…
そこで!次は特徴量をもう1つ加えた、3つの特徴量で散布図を表示してみましょう!