以前、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 | 町ごとの犯罪率 |
ZM | 25000平方フィート超える区域にある住宅の割合 |
INDUS | 町ごとの非小売業の割合 |
CHAS | チャールズ川かどうか(区域が川に接している場合1,それ以外は0 |
NOX | 一酸化炭素濃度(1000万分の1) |
RM | 住居毎の部屋数の平均 |
AGE | 1940年より前に建てられた持ち家の割合 |
DIS | 5つのボストン雇用センターまでの加重距離 |
RAD | 放射状高速道路へのアクセシビリティの指標 |
TAX | 10,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()
参考文献
- https://scikit-learn.org/stable/datasets/toy_dataset.html#boston-dataset
- https://www.atmarkit.co.jp/ait/articles/2006/24/news033.html