
ゆうき( @BASEBALLY15 )です^^
今回は,今まで学習してきた知識を使って,2種類のirisという花の特性を分析したいと思います.
分析する対象は,がく片の長さ・幅,花びらの長さ・幅です.
irisのデータは,データ分析の勉強をする上で,有名ですよね^^
そうですね^^
今回は, データ数が150個ほどと少ないため,今まで学習してきた『カーネル密度推定』を行います.

『iris』って何?
irisとは,アヤメという植物学名で,正確には,『Iris sanguinea』といいます.高さは40~60cm程度で,北海道から九州まで広範囲で見ることが出来ます.
データ分析結果
それでは,irisの花について分析を行っていきたいと思います.
SepalLength | SepalWidth | PetalLength | PetalWidth | Name | |
---|---|---|---|---|---|
0 | 5.1 | 3.5 | 1.4 | 0.2 | Iris-setosa |
1 | 4.9 | 3.0 | 1.4 | 0.2 | Iris-setosa |
2 | 4.7 | 3.2 | 1.3 | 0.2 | Iris-setosa |
3 | 4.6 | 3.1 | 1.5 | 0.2 | Iris-setosa |
4 | 5.0 | 3.6 | 1.4 | 0.2 | Iris-setosa |
上の表は,csvファイルのデータの一部を表したものです.
今回は,『SepalLength(がく片の長さ)』,『SepalWidth(がく片の幅)』,『PetalLength(花びらの長さ)』,『PetalWidth(がく片の幅)』に注目してデータ分析を行います.
それでは,ライブラリとコードを見てみましょう.
ライブラリ
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
カーネル密度推定を行いたいので,seabornをインポートしたいと思います.
コード
total_data = pd.read_csv("iris.csv")
この1文で,iris.csvファイルを読み込みます.
そして,そのデータのうち,分析に使いたい列を指定します.
#がく片の長さ
data1 = total_data["SepalLength"]
#がく片の幅
data2 = total_data["SepalWidth"]
#花びらの長さ
data3 = total_data["PetalLength"]
#花びらの幅
data4 = total_data["PetalWidth"]
次に,seabornを使って,ヒストグラムとカーネル密度関数を表示させます.
#data1のヒストグラムとカーネル密度推定
sns.distplot(data1,color="blue",label="SepalLength")
#data2のヒストグラムとカーネル密度推定
sns.distplot(data2,color="orange",label="SepalWidth")
#data3のヒストグラムとカーネル密度推定
sns.distplot(data3,color="green",label="PetalLength")
#data4のヒストグラムとカーネル密度推定
sns.distplot(data4,color="red",label="PetalWidth")
#ラベルを追加
plt.xlabel("X")
plt.ylabel("Y")
#凡例を表示させる
plt.legend()
distplot()を使うことで,ヒストグラムとカーネル密度関数を同時に表示してくれます.
これを実行すると,以下のグラフが完成します.

次に,箱ひげ図を表示させたいと思います.
boxplot()を使うことで,箱ひげ図を表示させることが出来ます.
#boxsplotを作る
sns.boxplot(data=[data1,data2,data3,data4])#data1からdata4までのデータを表示する.

箱ひげ図では,2種類のirisを使っているのかどうか分かりません.
また,irisの種類による違いも判りません.
そこで使われるのが,violinplot()です.(ヴァイオリンプロット)
#ヴァイオリンプロットを描く
sns.violinplot(data=[data1,data2,data3,data4])

このグラフから,2種類の間には,がく片による違いはほとんど無く,
花びらによる違いが大きいことが分かった.
終わりに
今回は,自分で作った作品を初めて投稿しました.
まだまだ,勉強不足な部分が多いので,
引き続き,データ分析の勉強を行い,
皆さんにお伝えしていこうと思います.
それでは・・・
いつも更新楽しみにしてます^^