AIの勉強をしようと色々調べていると
ネットでも本でもかならず出てくるのが「あやめの品種分類」という問題です。

※あやめは花の名前
sckit-learnの勉強の最初の一歩
ITなら「hello world」
算数なら「1+1」
国語なら「あいうえお」
みたいな感じかなと思う
という事でまずsckit-learnのあやめのデータセットをに見てみる
import pandas as pd
from sklearn.datasets import load_iris
iris=load_iris()
iiris_data=pd.DataFrame(data=iris.data, columns=iris.feature_names)
print(iris_data.to_string())
これを実行するとsckit-learnのあやめのデータセットの中身を見れます
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2
5 5.4 3.9 1.7 0.4
6 4.6 3.4 1.4 0.3
7 5.0 3.4 1.5 0.2
8 4.4 2.9 1.4 0.2
9 4.9 3.1 1.5 0.1
10 5.4 3.7 1.5 0.2
11 4.8 3.4 1.6 0.2
12 4.8 3.0 1.4 0.1
13 4.3 3.0 1.1 0.1
14 5.8 4.0 1.2 0.2
15 5.7 4.4 1.5 0.4
16 5.4 3.9 1.3 0.4
17 5.1 3.5 1.4 0.3
18 5.7 3.8 1.7 0.3
19 5.1 3.8 1.5 0.3
20 5.4 3.4 1.7 0.2
21 5.1 3.7 1.5 0.4
22 4.6 3.6 1.0 0.2
23 5.1 3.3 1.7 0.5
24 4.8 3.4 1.9 0.2
25 5.0 3.0 1.6 0.2
26 5.0 3.4 1.6 0.4
27 5.2 3.5 1.5 0.2
28 5.2 3.4 1.4 0.2
29 4.7 3.2 1.6 0.2
30 4.8 3.1 1.6 0.2
31 5.4 3.4 1.5 0.4
32 5.2 4.1 1.5 0.1
33 5.5 4.2 1.4 0.2
34 4.9 3.1 1.5 0.2
35 5.0 3.2 1.2 0.2
36 5.5 3.5 1.3 0.2
37 4.9 3.6 1.4 0.1
38 4.4 3.0 1.3 0.2
39 5.1 3.4 1.5 0.2
40 5.0 3.5 1.3 0.3
41 4.5 2.3 1.3 0.3
42 4.4 3.2 1.3 0.2
43 5.0 3.5 1.6 0.6
44 5.1 3.8 1.9 0.4
45 4.8 3.0 1.4 0.3
46 5.1 3.8 1.6 0.2
47 4.6 3.2 1.4 0.2
48 5.3 3.7 1.5 0.2
49 5.0 3.3 1.4 0.2
50 7.0 3.2 4.7 1.4
51 6.4 3.2 4.5 1.5
52 6.9 3.1 4.9 1.5
53 5.5 2.3 4.0 1.3
54 6.5 2.8 4.6 1.5
55 5.7 2.8 4.5 1.3
56 6.3 3.3 4.7 1.6
57 4.9 2.4 3.3 1.0
58 6.6 2.9 4.6 1.3
59 5.2 2.7 3.9 1.4
60 5.0 2.0 3.5 1.0
61 5.9 3.0 4.2 1.5
62 6.0 2.2 4.0 1.0
63 6.1 2.9 4.7 1.4
64 5.6 2.9 3.6 1.3
65 6.7 3.1 4.4 1.4
66 5.6 3.0 4.5 1.5
67 5.8 2.7 4.1 1.0
68 6.2 2.2 4.5 1.5
69 5.6 2.5 3.9 1.1
70 5.9 3.2 4.8 1.8
71 6.1 2.8 4.0 1.3
72 6.3 2.5 4.9 1.5
73 6.1 2.8 4.7 1.2
74 6.4 2.9 4.3 1.3
75 6.6 3.0 4.4 1.4
76 6.8 2.8 4.8 1.4
77 6.7 3.0 5.0 1.7
78 6.0 2.9 4.5 1.5
79 5.7 2.6 3.5 1.0
80 5.5 2.4 3.8 1.1
81 5.5 2.4 3.7 1.0
82 5.8 2.7 3.9 1.2
83 6.0 2.7 5.1 1.6
84 5.4 3.0 4.5 1.5
85 6.0 3.4 4.5 1.6
86 6.7 3.1 4.7 1.5
87 6.3 2.3 4.4 1.3
88 5.6 3.0 4.1 1.3
89 5.5 2.5 4.0 1.3
90 5.5 2.6 4.4 1.2
91 6.1 3.0 4.6 1.4
92 5.8 2.6 4.0 1.2
93 5.0 2.3 3.3 1.0
94 5.6 2.7 4.2 1.3
95 5.7 3.0 4.2 1.2
96 5.7 2.9 4.2 1.3
97 6.2 2.9 4.3 1.3
98 5.1 2.5 3.0 1.1
99 5.7 2.8 4.1 1.3
100 6.3 3.3 6.0 2.5
101 5.8 2.7 5.1 1.9
102 7.1 3.0 5.9 2.1
103 6.3 2.9 5.6 1.8
104 6.5 3.0 5.8 2.2
105 7.6 3.0 6.6 2.1
106 4.9 2.5 4.5 1.7
107 7.3 2.9 6.3 1.8
108 6.7 2.5 5.8 1.8
109 7.2 3.6 6.1 2.5
110 6.5 3.2 5.1 2.0
111 6.4 2.7 5.3 1.9
112 6.8 3.0 5.5 2.1
113 5.7 2.5 5.0 2.0
114 5.8 2.8 5.1 2.4
115 6.4 3.2 5.3 2.3
116 6.5 3.0 5.5 1.8
117 7.7 3.8 6.7 2.2
118 7.7 2.6 6.9 2.3
119 6.0 2.2 5.0 1.5
120 6.9 3.2 5.7 2.3
121 5.6 2.8 4.9 2.0
122 7.7 2.8 6.7 2.0
123 6.3 2.7 4.9 1.8
124 6.7 3.3 5.7 2.1
125 7.2 3.2 6.0 1.8
126 6.2 2.8 4.8 1.8
127 6.1 3.0 4.9 1.8
128 6.4 2.8 5.6 2.1
129 7.2 3.0 5.8 1.6
130 7.4 2.8 6.1 1.9
131 7.9 3.8 6.4 2.0
132 6.4 2.8 5.6 2.2
133 6.3 2.8 5.1 1.5
134 6.1 2.6 5.6 1.4
135 7.7 3.0 6.1 2.3
136 6.3 3.4 5.6 2.4
137 6.4 3.1 5.5 1.8
138 6.0 3.0 4.8 1.8
139 6.9 3.1 5.4 2.1
140 6.7 3.1 5.6 2.4
141 6.9 3.1 5.1 2.3
142 5.8 2.7 5.1 1.9
143 6.8 3.2 5.9 2.3
144 6.7 3.3 5.7 2.5
145 6.7 3.0 5.2 2.3
146 6.3 2.5 5.0 1.9
147 6.5 3.0 5.2 2.0
148 6.2 3.4 5.4 2.3
149 5.9 3.0 5.1 1.8
データのサンプルは150
横のデータは花の特徴量4つ、「花のがくの横幅」「花のがくの縦幅」「花の花びらの横幅」「花びらの縦幅」
になります。
つまり、このデータセットは様々な「あやめ」の花を150個摘んできて、その「がく」「花びら」を数値化したもの。
「あやめ」の花の特徴を数値化して平均を取るためのデータだね
⚫︎データの平均値を出してみる
次に、この150のあやめのデータの平均値をだしてみます。
上のソースの一番下にこれを追加して実行
print(iris_data.describe())
すると結果が
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.057333 3.758000 1.199333
std 0.828066 0.435866 1.765298 0.762238
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000
こうなります。
上から2番目の「mean」が平均値
つまり、「あやめ」の花の平均は
がくの横幅:5.843333cm
がくの縦幅:3.057333cm
花びらの横幅:3.758000cm
花びらの縦幅:1.199333cm
となります。
⚫︎データの詳細を見てみる
データセットの数を見るには
print(iris_data.shape)
結果は
(150, 4)
となります。
データの数が150で、特徴量が4つ
次に、データのクラス分けを見てみましょう
print(iris.target_names)
結果は
[‘setosa’ ‘versicolor’ ‘virginica’]
となります。
これは「あやめ」の花の種類です。
一見同じですが、花びらの青さが少しづつ違い、「あやめ」という花の品種の分類です。
この「あやめ」のデータセットは、3種類の品種のそれぞれのデータが入っているのです。

コメント