www.crosshyou.info

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

UCI の Adult データの分析1 - R にデータを取り込み、ヒストグラムで分布を確認

Generated by Bing Image Creator: Very large cherry blossoms, long view from the blue sky, phot

今回は、UCI の Adult のデータを使って、Rの練習をしてみようと思います。

income が年間 $50k を超えるか、超えないかを判別するタスクです。

Becker,Barry and Kohavi,Ronny. (1996). Adult. UCI Machine Learning Repository. https://doi.org/10.24432/C5XW20.

まず、tidyverse パッケージの読み込みからはじめます。

read_csv() 関数でデータをダウンロードします。

UCI からダウンロードしたデータファイルは、変数名が無いので、col_names = FALSE を加えています。

変数名を付与します。

na.omit() 関数で、NAがある観測を削除します。

summary() 関数で df をみてみます。

数値のデータは、age, fnlwgt, education_num, capital-gain, capital-loss, hours-per-week で、文字列のデータは、workclass, education, martial-status, occupation, relationship, race, sex, naitive-country, income です。

income が予測する変数なので、一番左の列に relocate() 関数で移動させます。

glimpse() 関数で df を表示しましたが、32,561行 x 15列 のデータフレームです。

各変数の分布状況を確認しましょう。まずは、数値データから確認します。

age と income の関係をみます。

上のヒストグラムを見ると、 >50K の人のほうが少なくて、年齢の範囲が狭いことがわかります。

income によっての違いはなさそうですが、右側に外れ値があるようです。

education_num と income です。

>50K のグループには、education_num の値が小さい人はいないようですね。

次は、capital_gain です。

大半が 0 のようです。

次は、capital_loss です。

capital_loss もほとんどの人が 0 のようです。

数値データの最後は hours_per_week です。

hours_per_week は、>=50K のグループは、数値の小さい人はいないようです。

こうして income との関係をグラフにしてみると、age, education_num, hours_per_week は income の予測に役立ちそうですね。

今回は以上です。

次回は、

www.crosshyou.info

です。