【データセット】ボストン住宅データセット【scikit-learn、メモ】

以前、kerasを使ってボストン住宅データセット(リンク)を使ってみましたが、
今回はscikit-learnを使ってボストン住宅データセットを読み込んでみます。

自分用メモです。
ちなみに、githubにもコードは上げてあります。

環境

  • python 3.6
  • sklearn 0.22.2.post1

データセットを読み込んで確認(ソースコード)

sklearn.datasetsのload_bostonメソッドによってデータセットを読み込むことができます。

from sklearn.datasets import load_boston
dataset = load_boston()

このdatasetは辞書形式になっていて、以下のようなkeyを持ってます。

dataset.keys()
#=> dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename'])
  • data: 説明変数
  • target: 目的変数
  • feature_names : 特徴量名
  • DESCR: 恐らく公式のディスクリプション
  • filename: ダウンロードしたデータセットのpath

特徴量は以下のようになります。

dataset.feature_names
#=> array(['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD',
#       'TAX', 'PTRATIO', 'B', 'LSTAT'], dtype='<U7')
CRIM町ごとの犯罪率
ZM25000平方フィート超える区域にある住宅の割合
INDUS町ごとの非小売業の割合
CHASチャールズ川かどうか(区域が川に接している場合1,それ以外は0
NOX一酸化炭素濃度(1000万分の1)
RM住居毎の部屋数の平均
AGE1940年より前に建てられた持ち家の割合
DIS5つのボストン雇用センターまでの加重距離
RAD放射状高速道路へのアクセシビリティの指標
TAX10,000ドルあたりの固定資産税率
PTRATIO町別の生徒と教師の比率
B町ごとの黒人の割合
LSTAT低所得者人口の割合
MEDV住宅価格(これはtargetの値のこと)

最後の行(MEDV)はdataset.targetのことです。よく目的変数となります。

Pandasで少しデータを概観する

軽くdataframeにしてどんなデータなのか見てみます。

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 506 entries, 0 to 505
Data columns (total 13 columns):
 #   Column   Non-Null Count  Dtype  
---  ------   --------------  -----  
 0   CRIM     506 non-null    float64
 1   ZN       506 non-null    float64
 2   INDUS    506 non-null    float64
 3   CHAS     506 non-null    float64
 4   NOX      506 non-null    float64
 5   RM       506 non-null    float64
 6   AGE      506 non-null    float64
 7   DIS      506 non-null    float64
 8   RAD      506 non-null    float64
 9   TAX      506 non-null    float64
 10  PTRATIO  506 non-null    float64
 11  B        506 non-null    float64
 12  LSTAT    506 non-null    float64
dtypes: float64(13)
memory usage: 51.5 KB

df.describe()

参考文献

タイトルとURLをコピーしました