「身体運動のデータセット」について学ぶ(scikit-learn /トイデータセット)
この記事では、統計学を初めて学ぶ筆者が、「scikit-learn」の「トイデータセット」における「身体運動のデータセット」について学んだ内容について記載しています。
学習には、scikit-learnのガイド「7.1. Toy datasets」を参考にし、Pythonのプログラミングにも触れ、理解を深めました。
プログラミングには、機械学習ライブラリのscikit-learnを使用しました。
この記事は、他の人が参考にできるよう、わかりやすく書くことを心がけました。
scikit-learn トイデータセット
機械学習ライブラリscikit-learnに用意されている「トイデータセット」は、機械学習の問題を解くためのサンプルデータセットのことで、いくつかの種類が用意されています。例えば、Iris(アヤメ)の花の特徴から、その種類を分類する問題を解くための「irisデータセット」や、ボストン市の住宅価格に関するデータを用いて、住宅価格を予測する問題を解くための「bostonデータセット」などがあります。
scikit-learnにはいくつかの小さな標準データセットが付属しており、外部のウェブサイトからファイルをダウンロードする必要はありません。
これらは以下の関数を使って読み込むことができます。
load_boston() : load_boston は 1.0 で非推奨となり、1.2 で削除される予定である。
load_iris() : アヤメのデータセット(分類)をロードして返す。
load_diabetes() : 糖尿病のデータセット(回帰)をロードして返す。
load_linnerud() : 身体運動のデータセットをロードして返す。
load_digits() : 数字のデータセット(分類)をロードして返す。
load_wine() : ワインのデータセット(分類)をロードして返す。
load_breast_cancer() : ウィスコンシン州の乳がんのデータセット(分類)をロードして返す。7.1. Toy datasetsts
身体運動のデータセット
Linnerrudデータセットは、フィットネスクラブの中年男性20人から収集された、3つの運動(データ)と3つの生理学的(ターゲット)変数から成る、マルチアウトプット回帰データセットです:
physiological(生理学的) – 3つの生理学的変数に関する20の観測値を含むCSV:
体重、ウエスト、脈拍。
exercise(運動) – 3つの運動変数に関する20の観測値を含むCSV:
チンアップ、シットアップ、ジャンプ。
Pythonプログラミング
「身体運動のデータセット」をイメージしやすいようPythonでのプログラミングについても学びます。
プログラム
身体運動のデータセットを読み込み、データセットの詳細を出力します。
from sklearn.datasets import load_linnerud
# 身体運動のデータセットを読み込む
linnerud = load_linnerud()
# データセットの詳細を出力する
print("身体運動のデータセットの定義:")
print("----------------------------")
print("データセット名:", linnerud['DESCR'])
print("----------------------------")
print("特徴量名:", linnerud['feature_names'])
print("----------------------------")
print("特徴量の数:", len(linnerud['feature_names']))
print("----------------------------")
print("クラス名:", linnerud['target_names'])
print("----------------------------")
print("クラスの数:", len(linnerud['target_names']))
print("----------------------------")
print("データ数:", len(linnerud['data']))
print("----------------------------")
print("データの先頭5行:")
print(linnerud['data'][:5])
print("----------------------------")
print("クラスの先頭5行:")
print(linnerud['target'][:5])
実行結果
身体運動のデータセットの定義:
----------------------------
データセット名: .. _linnerrud_dataset:
Linnerrud dataset
-----------------
**Data Set Characteristics:**
:Number of Instances: 20
:Number of Attributes: 3
:Missing Attribute Values: None
The Linnerud dataset is a multi-output regression dataset. It consists of three
exercise (data) and three physiological (target) variables collected from
twenty middle-aged men in a fitness club:
- *physiological* - CSV containing 20 observations on 3 physiological variables:
Weight, Waist and Pulse.
- *exercise* - CSV containing 20 observations on 3 exercise variables:
Chins, Situps and Jumps.
.. topic:: References
* Tenenhaus, M. (1998). La regression PLS: theorie et pratique. Paris:
Editions Technic.
----------------------------
特徴量名: ['Chins', 'Situps', 'Jumps']
----------------------------
特徴量の数: 3
----------------------------
クラス名: ['Weight', 'Waist', 'Pulse']
----------------------------
クラスの数: 3
----------------------------
データ数: 20
----------------------------
データの先頭5行:
[[ 5. 162. 60.]
[ 2. 110. 60.]
[ 12. 101. 101.]
[ 12. 105. 37.]
[ 13. 155. 58.]]
----------------------------
クラスの先頭5行:
[[191. 36. 50.]
[189. 37. 52.]
[193. 38. 58.]
[162. 35. 62.]
[189. 35. 46.]]
和訳します。(.. topic:: Referencesを除きます。)
身体運動のデータセットの定義:
----------------------------
データセット名: .. _linnerrud_dataset:
Linnerrudデータセット
データセットの特徴:
:インスタンス数: 20
:属性の数: 3
:欠損値: なし
Linnerrudデータセットは、フィットネスクラブの中年男性20人から収集された、3つの運動(データ)と3つの生理学的(ターゲット)変数から成る、マルチアウトプット回帰データセットです:
physiological(生理学的) - 3つの生理学的変数に関する20の観測値を含むCSV:
体重、ウエスト、脈拍。
exercise(運動) - 3つの運動変数に関する20の観測値を含むCSV:
チンアップ、シットアップ、ジャンプ。
特徴量名: ['Chins', 'Situps', 'Jumps']
特徴量の数: 3
クラス名: ['Weight', 'Waist', 'Pulse']
----------------------------
クラスの数: 3
----------------------------
データ数: 20
----------------------------
データの先頭5行:
[[ 5. 162. 60.]
[ 2. 110. 60.]
[ 12. 101. 101.]
[ 12. 105. 37.]
[ 13. 155. 58.]]
----------------------------
クラスの先頭5行:
[[191. 36. 50.]
[189. 37. 52.]
[193. 38. 58.]
[162. 35. 62.]
[189. 35. 46.]]
プログラムの説明
from sklearn.datasets import load_linnerud
scikit-learnのdatasetsモジュールから、load_linnerud関数をインポートします。これにより、linnerudデータセットを読み込むことができます。
# 身体運動のデータセットを読み込む
linnerud = load_linnerud()
load_linnerud()関数を使って、linnerudデータセットを読み込み、linnerudという名前で保存します。
# データセットの詳細を出力する
print("身体運動のデータセットの定義:")
print("----------------------------")
print("データセット名:", linnerud['DESCR'])
print("----------------------------")
print("特徴量名:", linnerud['feature_names'])
print("----------------------------")
print("特徴量の数:", len(linnerud['feature_names']))
print("----------------------------")
print("クラス名:", linnerud['target_names'])
print("----------------------------")
print("クラスの数:", len(linnerud['target_names']))
print("----------------------------")
print("データ数:", len(linnerud['data']))
print("----------------------------")
print(“データセット名:", linnerud['DESCR’])は、身体運動のデータセットの詳細情報を出力します。
print(“特徴量名:", linnerud['feature_names’])は、身体運動のデータセットの特徴量名を出力します。
print(“特徴量の数:", len(linnerud['feature_names’]))は、身体運動のデータセットの特徴量の数を出力します。
print(“クラス名:", linnerud['target_names’])は、身体運動のデータセットのクラス名を出力します。
print(“クラスの数:", len(linnerud['target_names’]))は、身体運動のデータセットのクラスの数を出力します。
print(“データ数:", len(linnerud['data’]))は、身体運動のデータセットのデータの数を出力します。
print("データの先頭5行:")
print(iris['data'][:5])
print("----------------------------")
print("クラスの先頭5行:")
print(iris['target'][:5])
print(linnerud['data’][:5])は、身体運動のデータセットの最初の5行を出力します。
linnerud['data’]は、身体運動のデータセットから取得したデータの行列を表します。各行が1つのデータポイントであり、各列が3つの特徴量の値を表します。linnerud['data’][:5]は、最初の5つの行を取得するためのPythonのスライスです。したがって、print(linnerud['data’][:5])は、最初の5つのデータポイントの特徴量の値を表示します。
print(linnerud['target’][:5])は、身体運動のデータセットのクラスの最初の5行を出力します。
linnerud['target’]は、身体運動のデータセットから取得したクラスラベルを表します。各クラスラベルは、各データポイントに対応しています。linnerud['target’][:5]は、最初の5つのクラスラベルを取得するためのPythonのスライスです。したがって、print(linnerud['target’][:5])は、最初の5つのデータポイントのクラスラベルを表示します。
ディスカッション
コメント一覧
まだ、コメントがありません