データセット「Diabetes」について説明。442件の糖尿病の「表形式データ(年齢/血圧/血糖値などの10項目)」+「ラベル(1年後の糖尿病進行度)」が無料でダウンロードでき、回帰問題などのディープラーニングや統計学/データサイエンスに利用できる。scikit-learnにおける利用コードも紹介。
Diabetesデータセット(糖尿病データセット)は、「年齢/血圧/血糖値」などの10個の特徴量と、1年後の糖尿病の進行度を示すラベルで構成される表形式データセット(=構造化データセット)である(図1)。
Diabetesデータセットは、主に回帰(具体的には「1年後の糖尿病の進行度の予測」)を目的とした統計学/機械学習/ディープラーニングなどの練習で活用できる。
説明変数となる10個の特徴量は以下の通り。※下記の箇条書きで示す各項目の意味説明は、筆者が参考にしたscikit-learnのサイトによると不明確な可能性があるとのこと(※特にLTG)。よって本データセットは、現実のデータとしてではなく、あくまで練習用のデータとして厳密な意味を求めずに使う方が無難である。
なお、図1に表示されている上記10個の各値は、「平均0、ユークリッドノルム(L2ノルム)1(=各値の二乗を全て合計した値が1、つまりsum(x2)=1)」に正規化された値となっているので注意してほしい(※この正規化は一種の標準化である。厳密な意味での標準化では、ユークリッドノルムではなく、標準偏差もしくは分散が1となる。より具体的には、標準偏差ではデータ件数で割るが、このユークリッドノルムでは割っていないという違いがある。別の見方をすると、ここで計算されている値は、「標準化された値×データ件数」の値が計算されているということになる)。
また、目的変数(target variable)となるラベル(=正解を示す教師データ)は、
となっている。
データ数は、合計で442件である。
このデータセットは、基本的に自由に使用できる(※ライセンスは指定されていない)。
データセットを引用する際に使える情報を以下にまとめておく。
実際にDiabetesデータセットを使うには、ライブラリscikit-learnが提供する機能を利用することをお勧めする。ムダな作業を省いて、効率的に使えるためだ。※なお、TensorFlow/Keras/PyTorchにはDiabetesデータセットは用意されていなかった。
以下に、scikit-learnで「どのようなコードを書くとDiabetesデータセットが使えるか」の典型的なコードを簡単に示しておく。
# !pip install scikit-learn # ライブラリ「scikit-learn」をインストール
from sklearn.datasets import load_diabetes
diabetes = load_diabetes()
sklearn.datasets.load_diabetes()関数を呼び出せばよい。戻り値として(sklearn.utils.Bunch型の)辞書オブジェクトを返す。その配下の、
格納されている。各項目の値は前述の方法(平均0、ユークリッドノルム1)で正規化された値となっている。scikit-learnのバージョン1.1以降では、関数の引数にscaled=Falseを指定することで、正規化されていない元の値を取得することもできる。
Copyright© Digital Advantage Corp. All Rights Reserved.