PearLinux で Python07 | kazenokinositaのブログ

kazenokinositaのブログ

Telloは少しお休みで、pythonそしてPearOSとたわむれてます

今日はiris散布図のプログラムから

前回のプログラムは鮮やかすぎで

ちょっと私の手には待ったので

 

ここのも結構手こずっていますが。

まずは参考にしたプログラム

<SCIITSAMP.py>

from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
iris = load_iris()
 
x = iris.data
y = iris.target
 
plt.scatter(x[:50, 0], x[:50, 1], color='r', marker='o', label='setosa')
plt.scatter(x[50:100, 0], x[50:100, 1], color='g', marker='+', label='versicolor')
plt.scatter(x[100:, 0], x[100:, 1], color='b', marker='x', label='virginica')
plt.title("Iris Plants Database")
plt.xlabel("sepal length(cm)")
plt.ylabel("sepal width(cm)")
plt.legend()
plt.show()
 
3行目までは、irisというオブジェクトにデーターをすべて読み込んでます
plt.scatter は散布図のデーターを読み込んでいるところ
 でx[:50,0] ってなに スライスというらしく上のページも

 次を参考にしなさいと

 

 どうやら、リストのデーターをスライス(切り取る)ことを

 してくれるらしい。

 x[: これは最初から切り取る0:でも一緒

 で x[:50,0]が何かというと

 まずiris.data がどんなリストかというと

 2次元リストになっていて

   [5.1, 3.5, 1.4, 0.2],
     [4.9, 3. , 1.4, 0.2],
     [4.7, 3.2, 1.3, 0.2],
     [4.6, 3.1, 1.5, 0.2],
      ・・・・
     [6.3, 2.5, 5. , 1.9],
     [6.5, 3. , 5.2, 2. ],
     [6.2, 3.4, 5.4, 2.3],
     [5.9, 3. , 5.1, 1.8]] といった配列で

 x[0,0]が5.1 になります

 ガク片の長さを50個取り出すわけです

 次はx[:50,1] ですからまずはx[0,1]=3.5の ガク片の

 幅を50個取り出しています

plt.scatter(x[:50, 0], x[:50, 1], color='r', marker='o', label='setosa')

この関数で相関図を作成します color='r' 色は赤 marker='o' 形はo

setosaを表していました。

 

   

vesicolorは50~100 次は100から150 で同様に

相関図を作成します

ちなみに plt.legend は凡例を表示します。

plt.show()で 相関図表示。