from sklearn.datasets import load_diabetes
# 糖尿病データセットの読み込み
diabetes = load_diabetes(as_frame=True)
X = diabetes.data["age"]
y = diabetes.target15 演習
15.1 データセットの説明
糖尿病データセットでは、442人の糖尿病患者の年齢、性別、体重指数(BMI)、血圧などの情報と、1年後の病状の進行度を示す数値が含まれている。年齢、性別、BMIなどは説明変数で、1年後の病状の進行度を目的変数である。また。説明変数は標準化されている。
| 特徴量 | 説明 |
|---|---|
| age | 年齢 |
| sex | 性別(男性: 1、女性: 0) |
| bmi | 体重指数 |
| bp | 平均血圧 |
| s1 | 総コレステロール |
| s2 | 低密度リポタンパク質 |
| s3 | 高密度リポタンパク質 |
| s4 | 総コレステロール/HDL |
| s5 | 血清トリグリセリドレベルの対数 |
| s6 | 血糖値 |
| target | 1年後の病状の進行度 |
下記のコードは、糖尿病データセットを読み込み、年齢を X、目的変数を y に代入している。
plt.savefig("scatter.png") を実行すると、散布図が scatter.png というファイル名で保存される。
import matplotlib.pyplot as plt
plt.scatter(X, y)
plt.savefig("scatter.png") # 散布図を保存X を1次元配列に変換するには、以下のコードを実行する。
import numpy as np
X = X.to_numpy().reshape(-1)15.2 課題
糖尿病データセットを用いて、以下の問いに答えよ。 (説明変数は標準化されていることに注意せよ。)
- 年齢とBMIの相関係数を計算せよ。
- 年齢と血圧の散布図を描け。
- 血圧を説明変数、1年後の病状の進行度を目的変数として、回帰モデルを構築し、回帰直線とデータの散布図を描け。
age、bmi、bp、s1、s2、s3、s4、s5、s6を説明変数、1年後の病状の進行度を目的変数として、重回帰モデルを構築し、各説明変数の回帰係数を表示せよ。- 1-4の結果を踏まえて、500字程度で考察せよ。追加の分析や可視化を行ってもよい。
- 例えば、どの説明変数が目的変数に強い影響を与えているか。
- どの変数が他の変数と強い相関を持っているか。
- どのような人が病状の進行が早い傾向にあるか。
15.3 提出方法
- 以下のいずれかの形式で提出せよ。
- .ipynb
- .docx
- 提出先: Google Classroom
- 提出期限: 10/16