ゆきばた のBlog

備忘録と備忘録。あと備忘録。

scikit-learn から取得できるpythonサンプルデータの種類

データ分析を始めたり、グラフや関数の動作を試したいとき、サンプルデータが必要になります。「いますぐ試したい」のに、サンプルデータの生成は時間がもったいないです。
scikit-learn (sklearn) には「いますぐ使えるデータ」が load できるようになっています。

sklearn のサンプルデータ 7種類を、すぐに import して使える形で準備しました。

 

本家はこちら(英語)- サンプルデータ全7種類

以下のバージョンでは、7種類のデータの取得が可能です
scikit-learn.org

scikit-learn version 0.23.1 

 

サンプル1:load_boston - ボストンの住宅価格データ

ボストンの住宅価格と、関連する環境項目のデータセット。

scikit-learn.org


説明変数

データ件数:506
カラム数:13

CRIM 都市別の1人当たり犯罪発生率
ZN 25,000平方フィート以上の住宅地の割合(広さ)
INDUS 非小売業が占める面積の割合
CHAS Charles川のダミー変数(1:河川の周辺; 0:その他)
NOX 一酸化窒素濃度(1000万分の1)
RM 一戸当たりの平均部屋数
AGE 1940年以前に建てられた持ち家の割合
DIS ボストンの5つの雇用センターまでの距離(加重あり)
RAD 高速道路へのアクセスのしやすさ指数
TAX 1万ドル当たりの総資産税率
PTRATIO 町別の児童教師比率
B Bkの割合
LSTAT 低所得者の割合
import pandas as pd

# データ読み込み
from sklearn.datasets import load_boston
boston = load_boston()

# dataframe化
df_boston = pd.DataFrame(boston.data, columns=boston.feature_names)
df_boston.head()
f:id:yukibata:20200726001902p:plain
df_boston.head()

目的変数

住宅価格の中央値

df_target = pd.DataFrame(boston.target, columns=['target'])
df_target.head()
f:id:yukibata:20200726002001p:plain
df_target.head()

 

サンプル2:load_iris - アヤメ(花)の品種データ

アヤメの各部位の特徴によって、品種を特定するデータセット。
機械学習では最も有名なサンプルデータかもしれません。

scikit-learn.org


説明変数

データ件数:150
カラム数:4

sepal length (cm) がく片の長さ(cm)
sepal width (cm) がく片の幅(cm)
petal length (cm) 花弁の長さ(cm)
petal width (cm) 花弁の幅(cm)
import pandas as pd

# データ読み込み
from sklearn.datasets import load_iris
iris = load_iris()

# dataframe化
df_iris = pd.DataFrame(iris.data, columns=iris.feature_names)
df_iris.head()
f:id:yukibata:20200726131016p:plain
df_iris.head()

目的変数

アヤメ品種の番号

df_target = pd.DataFrame(iris.target, columns=['target'])
df_target.head()
f:id:yukibata:20200726002504p:plain
df_target.head()

 

サンプル3:load_diabetes - 糖尿病患者の属性データ

基礎データ(性年代など)、血液データなどで、疾患予測を行うデータセット。

scikit-learn.org


説明変数

データ件数:442
カラム数:10

age 年齢
sex 性別
bmi BMI 肥満指数
bp 血圧の平均
s1 tc : T細胞(白血球の一種)
s2 ldl : 低密度リポタンパク質
s3 hdl : 高密度リポタンパク質
s4 tch : 甲状腺刺激ホルモン
s5 ltg : ラモトリギン
s6 glu : 血糖値
import pandas as pd

# データ読み込み
from sklearn.datasets import load_diabetes
diabetes = load_diabetes()

# dataframe化
df_diabetes = pd.DataFrame(diabetes.data, columns=diabetes.feature_names)
df_diabetes.head()
f:id:yukibata:20200726003051p:plain
df_diabetes.head()

目的変数

病状の進行状況

df_target = pd.DataFrame(diabetes.target, columns=['target'])
df_target.head()
f:id:yukibata:20200726003139p:plain
df_target.head()

サンプル4:load_digits - 手書き文字(数字)認識

手書きの文字(0~9の1文字)が数値化されているデータセット。
1つの画像のデータが64(8×8)マスのデータとして表現されている。

scikit-learn.org


説明変数

データ件数:1797 (デフォルト値 n_class=10 のとき)
カラム数:64

import pandas as pd

# データ読み込み
from sklearn.datasets import load_digits
digits = load_digits(n_class=10) # default = 10

# dataframe化
df_digits = pd.DataFrame(digits.data)
df_digits.head()
f:id:yukibata:20200726131210p:plain
df_digits.head()
import matplotlib.pyplot as plt
plt.imshow(digits.images[0], cmap='Greys', interpolation='NONE')

f:id:yukibata:20200726131257p:plain

目的変数

データが表現する数字

df_target = pd.DataFrame(digits.target, columns=['target'])
df_target.head()
f:id:yukibata:20200726131517p:plain
df_target.head()

サンプル5:load_linnerud - 身体的特徴と身体的能力の関連性

身体的な特徴と能力(体重とジャンプ力の関係性など)をまとめたデータセット。

scikit-learn.org


説明変数

データ件数:20
カラム数:3
※ 目的変数のカラム数:3

Chins 懸垂
Situps 腹筋
Jumps 跳躍

※単位不明

import pandas as pd

# データ読み込み
from sklearn.datasets import load_linnerud
linnerud = load_linnerud()

# dataframe化
df_linnerud = pd.DataFrame(linnerud.data, columns=linnerud.feature_names)
df_linnerud.head()
f:id:yukibata:20200726133121p:plain
df_linnerud.head()

目的変数

Weight 体重
Waist ウエスト
Pulse 脈拍
df_linnerud_target = pd.DataFrame(linnerud.target, columns=linnerud.target_names)
df_linnerud_target.head()
f:id:yukibata:20200726133252p:plain
df_linnerud_target.head()

サンプル6:load_wine - ワインの品質を示すデータセット。

ワインの成分などの特徴と品質を関連させたデータ。

scikit-learn.org


説明変数

データ件数:178
カラム数:13

alcohol アルコール度数
malic_acid リンゴ酸
ash 灰(あく)
alcalinity_of_ash 灰のアルカリ度
magnesium マグネシウム量
total_phenols 総フェノール
flavanoids フラボノイド
nonflavanoid_phenolsv 非フラボノイド・フェノール
proanthocyanins プロアントシアニン
color_intensity 色の明度
hue 色相
od280/od315_of_diluted_wines 希釈ワイン
proline プロリン
import pandas as pd

# データ読み込み
from sklearn.datasets import load_wine
wine = load_wine()

# dataframe化
df_wine = pd.DataFrame(wine.data, columns=wine.feature_names)
df_wine.head()
f:id:yukibata:20200726135100p:plain
df_wine.head()

目的変数

ワインの品質

df_wine_target = pd.DataFrame(wine.target, columns=['target'])
df_wine_target.head()
f:id:yukibata:20200726135157p:plain
df_wine_target.head()

サンプル7:load_wine - ワインの品質を示すデータセット。

ワインの成分などの特徴と品質を関連させたデータ。

scikit-learn.org


説明変数

データ件数:569
カラム数:30

mean radius 平均半径
mean texture 平均組織
mean perimeter 平均周長
mean area 平均面積
mean smoothness 平均平滑度
mean compactness 平均コンパクト性
mean concavity 平均凹面
mean concave points 平均凹点
mean symmetry 平均対称性
mean fractal dimension 平均フラクタル次元
radius error 半径誤差
texture error テクスチャエラー
perimeter error 周辺誤差
area error 面積誤差
smoothness error 平滑度誤差
compactness error コンパクト性誤差
concavity error 凹面誤差
concave points error 凹点誤差
symmetry error 対称誤差
fractal dimension error フラクタル次元誤差
worst radius 半径の最悪数値
worst texture 組織の最悪数値
worst perimeter 外周の最悪数値
worst area 表面積の最悪数値
worst smoothness 滑らかさの最悪数値
worst compactness コンパクトさの最悪数値
worst concavity 最悪な陥没度合
worst concave points 最悪な凹点
worst symmetry 対称性の最悪数値
worst fractal dimension フラクタル次元の最悪数値
import pandas as pd

# データ読み込み
from sklearn.datasets import load_breast_cancer
cancer = load_breast_cancer()

# dataframe化
df_cancer = pd.DataFrame(cancer.data, columns=cancer.feature_names)
df_cancer.head()
f:id:yukibata:20200726140435p:plain
df_cancer.head()

目的変数

df_cancer_target = pd.DataFrame(cancer.target, columns=['target'])
df_cancer_target.head()
f:id:yukibata:20200726140750p:plain
df_cancer_target.head()

以上が、scikit-learn で簡単に import 可能なデータサンプル7つ。