Iris 데이터 셋
개요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
줄리아에서는 머신러닝 데이터 셋 패키지인 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