Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

UCI Machine Learning Repository の Obesity データの分析2 - 探索的データ分析: EDA (Exploratory Data Analysis) の実践その1

www.crosshyou.info

の続きです。今回は 探索的データ分析: EDA (Exploratory Data Analysis) という作業をしていきます。このデータの目的は、obesity の7つのカテゴリーを予測する、ということですから、obesity と他の変数の関係性を調べようと思います。

obesity と Gender: 性別の関係を見ます。

obesity, Gender ともにカテゴリカル変数なので、棒グラフで頻度をグラフにします。

Obesity_Type_II は、ほとんど男性、Obesity_TYpe_III は、ほとんど女性だとわかります。

また、obesity のタイプ別の数は、だいたい同じだということもわかります。

 

次は、obesity と Age: 年齢 です。Age は数値データなので、箱ひげ図にしてみます。

Age の平均値が高い obesity のタイプが一番上にくるように reorder() 関数を使っています。Insufficient_Weight が一番若いです。若い人は痩せている人が多いですね。

 

次は obesity と Height: 身長です。これも Age と同じく箱ひげ図を描きます。

Obesity_Type_II の身長が突出しています。これは、Obesity_Type_II がほとんど男性だからだと思います。

 

次は、obesity と Weight]: 体重です。

体重は明らかに obesity のタイプと関係していますね。というか体重と身長を基にして obesity のタイプを分類しているのかもしれません。実際に分類モデルを作るときは、Weight と Height は除いて分類モデルを作ることにします。

今回はここまでにして、残りの変数は次回以降にやろうと思います。

次回は

www.crosshyou.info

です。

 

はじめから読むには、

www.crosshyou.info

です。

今回のコードは以下になります。

#
# EDA (Exploratory Data Analysis)]
#
# obesity と Gender
df |> 
  ggplot(aes(x = obesity, fill = Gender)) +
  geom_bar() +
  theme_minimal()
#
# obesity と Age
df |> 
  mutate(obesity = reorder(obesity, Age)) |> 
  ggplot(aes(x = Age, y = obesity, group = obesity)) +
  geom_boxplot(aes(fill = obesity)) +
  theme_minimal() +
  theme(legend.position = "none")
#
# obesity と Height
df |> 
  mutate(obesity = reorder(obesity, Height)) |> 
  ggplot(aes(x = Height, y = obesity, group = obesity)) +
  geom_boxplot(aes(fill = obesity)) +
  theme_minimal() +
  theme(legend.position = "none")
#
# obesity と Weight
df |> 
  mutate(obesity = reorder(obesity, Weight)) |> 
  ggplot(aes(x = Weight, y = obesity, group = obesity)) +
  geom_boxplot(aes(fill = obesity)) +
  theme_minimal() +
  theme(legend.position = "none")
#

 

 

(冒頭の画像は、Bing Image Creator で生成しました。プロンプトは Landscape of natural wildness grass field, allover covering yellow Garbera flowers, photo です。)