irisのデータを解析する

ゆうき( @BASEBALLY15 )です^^

今回は,今まで学習してきた知識を使って,2種類のirisという花の特性を分析したいと思います.
分析する対象は,がく片の長さ・幅,花びらの長さ・幅です.

irisのデータは,データ分析の勉強をする上で,有名ですよね^^

そうですね^^
今回は, データ数が150個ほどと少ないため,今まで学習してきた『カーネル密度推定』を行います.

『iris』って何?

irisとは,アヤメという植物学名で,正確には,『Iris sanguinea』といいます.高さは40~60cm程度で,北海道から九州まで広範囲で見ることが出来ます.

irisとは?

データ分析結果

それでは,irisの花について分析を行っていきたいと思います.

SepalLengthSepalWidthPetalLengthPetalWidthName
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-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までのデータを表示する.
irisの箱ひげ図

箱ひげ図では,2種類のirisを使っているのかどうか分かりません.

また,irisの種類による違いも判りません.

そこで使われるのが,violinplot()です.(ヴァイオリンプロット)

ヴァイオリンプロットとは?

#ヴァイオリンプロットを描く
sns.violinplot(data=[data1,data2,data3,data4])
irisのヴァイオリンプロット

このグラフから,2種類の間には,がく片による違いはほとんど無く,

花びらによる違いが大きいことが分かった.

終わりに

今回は,自分で作った作品を初めて投稿しました.

まだまだ,勉強不足な部分が多いので,

引き続き,データ分析の勉強を行い,

皆さんにお伝えしていこうと思います.

それでは・・・

Q &A

「Python irisの性質を分析してみた」への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA