アイリスデータセット
概要1
Irisデータセットは、アメリカの植物学者、エドガーアンダーソンEdgar Andersonによって作成され、イギリスの統計学者、ロナルドフィッシャーRonald Fisherによって紹介された2、あやめirisの観測記録に関するデータセットだ。
説明
機械学習やデータ分析の練習で最も多く使用されるデータセットである。3
setosa/versicolor/virginicaの3種類のあやめを各50本観察し、それぞれの花の花弁の長さと幅、萼の長さと幅を測定したデータで、すなわち150本の花の種類species、花弁の長さpetal length、花弁の幅petal width、萼の長さsepal length、萼の幅sepal widthに関する情報であり、150行5列のデータフレームである。
使用方法
Julia
Juliaでは、機械学習データセットパッケージのMLDatasets.jl
を使うことができる。最初に使用する際にはインストールが必要だ。また、デフォルト設定でデータフレームとして読み込まれるため、DataFrames.jl
が必要である。
julia> using MLDatasets
julia> using DataFrames
julia> X = Iris()
dataset Iris:
metadata => Dict{String, Any} with 4 entries
features => 150×4 DataFrame
targets => 150×1 DataFrame
dataframe => 150×5 DataFrame
julia> X[:]
(features = 150×4 DataFrame
Row │ sepallength sepalwidth petallength petalwidth
│ Float64 Float64 Float64 Float64
─────┼──────────────────────────────────────────────────
1 │ 5.1 3.5 1.4 0.2
2 │ 4.9 3.0 1.4 0.2
3 │ 4.7 3.2 1.3 0.2
⋮ │ ⋮ ⋮ ⋮ ⋮
149 │ 6.2 3.4 5.4 2.3
150 │ 5.9 3.0 5.1 1.8
145 rows omitted, targets = 150×1 DataFrame
Row │ class
│ String15
─────┼────────────────
1 │ Iris-setosa
2 │ Iris-setosa
3 │ Iris-setosa
⋮ │ ⋮
149 │ Iris-virginica
150 │ Iris-virginica
145 rows omitted)
オプションをas_df=false
に設定すると、データフレームではなく、タプルとしてデータを得ることができる。
julia> X = Iris(as_df=false)[:]
(features = [5.1 4.9 … 6.2 5.9; 3.5 3.0 … 3.4 3.0; 1.4 1.4 … 5.4 5.1; 0.2 0.2 … 2.3 1.8], targets = InlineStrings.String15[InlineStrings.String15("Iris-setosa") InlineStrings.String15("Iris-setosa") … InlineStrings.String15("Iris-virginica") InlineStrings.String15("Iris-virginica")])
julia> typeof(X)
NamedTuple{(:features, :targets), Tuple{Matrix{Float64}, Matrix{InlineStrings.String15}}}
Iris().features
、Iris().targets
、Iris().dataframes
を使って、それぞれ特徴量やクラス、そしてこれら二つを一つにまとめたデータフレームを得ることができる。
julia> Iris().dataframe
150×5 DataFrame
Row │ sepallength sepalwidth petallength petalwidth class
│ Float64 Float64 Float64 Float64 String15
─────┼──────────────────────────────────────────────────────────────────
1 │ 5.1 3.5 1.4 0.2 Iris-setosa
2 │ 4.9 3.0 1.4 0.2 Iris-setosa
3 │ 4.7 3.2 1.3 0.2 Iris-setosa
⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮
149 │ 6.2 3.4 5.4 2.3 Iris-virginica
150 │ 5.9 3.0 5.1 1.8 Iris-virginica
145 rows omitted
環境
- OS: Windows11
- Version: Julia v1.8.2, MLDatasets v0.7.6, DataFrames v1.3.6