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 の予測に役立ちそうですね。
今回は以上です。
次回は、
です。