【初心者】ネコでも分かる「scikit-learnのサンプルデータ」まとめ【Python】
機械学習を始めたいなら...!
scikit-learn(サイキット・ラーン)は、Python の機械学習ライブラリです。機械学習をするためのアルゴリズムがたくさん用意されていて、とても便利に、簡単に使うことができます。
そんな scikit-learn ですが、サンプルのデータセットが一緒に提供されているというのも魅力の 1 つです。「このアルゴリズムちょっと使ってみたいな」と思ったら、同梱されているサンプルデータを使ってすぐにそのアルゴリズムを試すことができます。
サンプルデータの一覧(あとで詳しく解説します)
今回は、scikit-learn に含まれているサンプルデータにはどんなのがあるのか、またサンプルデータの使い方について、図解で分かりやすくまとめました。
「自分なら どのサンプルを使って機械学習をしてみたいか 💭」を考えながら読んでみると、理解が進むと思います。
scikit-learn を使いこなす事は、機械学習エンジニア、AI エンジニアになるための第一歩です。サンプルデータの使い方をマスターして、基礎がしっかり固まったエンジニアを目指しましょう!
Created by NekoAllergy
サンプルデータの種類
14 のサンプルデータが用意されています
2021 年 6 月現在、scikit-learn のバージョンは v0.24.2 です。現時点では、合計で 14のデータセットがあり、大きく 2 種類(7+7)に分かれています。
Toy Datasets の一覧
-
ボストン市の地区別住宅価格データセット
家賃を予測しよう! -
アヤメの品種データセット
お花の種類を分類しよう! -
糖尿病患者の診療データセット
糖尿病になるかを未来予測しよう! -
数字の手書き文字データセット
画像に何の数字が書いてあるか分類しよう! -
生理学的特徴と運動能力の関係についてのデータセット
体重から懸垂回数を推測しよう! -
ワイン認識データセット
ワインの成分から品種を分類しよう! -
乳ガンのデータセット
ガンの特徴から悪性か良性かを分類しよう!
データセット名 | データ数 | 特徴の数 | 回帰/分類 | |
---|---|---|---|---|
01 | boston | 506 | 13 | 回帰 |
02 | iris | 150 | 4 | 分類(3) |
03 | diabetes | 442 | 10 | 回帰 |
04 | digits | 1797 | 64 | 分類(10) |
05 | linnerud | 20 | 3 | 回帰 |
06 | wine | 178 | 13 | 分類(3) |
07 | breast_cancer | 569 | 30 | 分類(2) |
Real World Datasets の一覧
-
40 人の各 10 種類の顔画像データセット
顔写真からどの人なのかを当てよう! -
20 の話題に関する 18000 のニュース記事データセット
何の話題について書かれているか分類しよう! -
5749 人分の有名人の顔写真データセット
顔写真からどの人なのかを当てよう! -
森林の木の種類データセット
土地の情報を元に、生えてる木の種類を当てよう! -
カテゴリ別のニュースデータセット
このニュースは何のトピックについて書かれているか分類しよう! -
ネットワークの侵入検知データセット
ネットワーク通信が攻撃的かどうかを当てよう! -
カリフォルニアの住宅価格データセット
家賃を予測しよう!
データセット名 | データ数 | 特徴の数 | 回帰/分類 | |
---|---|---|---|---|
01 | olivetti_faces | 400 | 4096 | 分類(40) |
02 | 20newsgroups | 18846 | 1 | 分類(20) |
03 | lfw_people | 13323 | 5828 | 分類(57499) |
04 | covtype | 581012 | 54 | 分類(7) |
05 | rcv1 | 804414 | 47236 | 分類(103) |
06 | kddcup99 | 4898431 | 41 | 分類(2) |
07 | california_housing | 20640 | 8 | 回帰 |
何が違うの?
データの容量が大きいか小さいかの違いだけです。容量が大きい方(Real World Datasets)は、まずダウンロードしてこなくてはなりません。容量が小さい方(Toy Datasets)は、ダウンロードの必要はありません。scikit-learn に実装されているアルゴリズムの動作をすぐに試すのに役立ちます。しかし、実際の機械学習タスクを表すには小さすぎることがあります。
⭐️ はじめての方は、まずは Toy Datasets の中のどれか 1 つから使ってみると良いでしょう。
少し休憩...
● Toy Datasets(トイ データセット)
Toy Datasets は、scikit-learn に同梱されていて、すぐに使えるサイズの小さいデータです。
現時点で 7 つのデータセットを使うことができます。
Toy Datasets の一覧
「自分なら どのサンプルを使って機械学習をしてみたいか 💭」を考えながら読んでみると、理解が進むと思います。
1. ボストンの住宅価格データセット
(Boston house prices datasets)
このデータセットは、アメリカのボストン市における地域別の住宅の価格をデータセットにしたものです。機械学習を試す時にはよく使われるデータセットです。
✅ POINT
データ数 --訓練用データ --テスト用データ |
506 --404 個(80%)に分割するのが普通 --102 個(20%)に分割するのが普通 |
どんな機械学習ができるか | 回帰問題 |
💭 データのイメージ
- 横 1 行分が、1 つのデータです。
- 縦列の 13 個の特徴を学習に使います。
- 一番右の列の「target」の値が家賃です。これを予測します。
📦【学習に使う 13 個の特徴】
このデータセットには、13 個の特徴が用意されています。これらの特徴を学習し、そこから家賃を予測します。
古い家の割合や高速道路へのアクセスのしやすさなどのパラメータは、結果に大きく関係しそうですね。
特徴の名前 | 説明 | |
---|---|---|
1 | CRIM | 人口 1 人当たりの犯罪発生数 |
2 | ZN | 25,000 平方フィート以上の住居区画の占める割合=「広い家の割合」 |
3 | INDUS | 小売業以外の商業が占める面積の割合 |
4 | CHAS | チャールズ川によるダミー変数 (1: 川の周辺, 0: それ以外) |
5 | NOX | 一酸化窒素の濃度 |
6 | RM | 住居の平均部屋数 |
7 | AGE | 1940 年より前に建てられた物件の割合 =「古い家の割合」 |
8 | DIS | 5 つのボストン市の雇用施設からの距離 (重み付け済) =「主要施設への距離」 |
9 | RAD | 高速道路へのアクセスのしやすさ |
10 | TAX | $10,000 ドルあたりの固定資産税率 |
11 | PTRATIO | 町毎の生徒と教師の比率 |
12 | B | 町毎の黒人 (Bk) の比率 |
13 | LSTAT | 低所得者人口の割合 |
🎁【予測する対象】
13 個の特徴から、その地域の「家賃」を予測します。
予測する対象 | 説明 |
---|---|
MEDV | 「住宅価格」の中央値。この数値が目的変数として使われる |
2. アヤメの品種データセット
(Iris plants datasets)
アヤメとはお花の名前です。このアヤメには、setosa, versicolor, virginica という 3 種類の品種があり、これらをデータセットにしたものが「アヤメの品種データセット」です。
✅ POINT
全データ数 | 150 |
データ内の setosa の数 | 50 |
データ内の versicolor の数 | 50 |
データ内の virginica の数 | 50 |
特徴の数(カラム数) | 4(がく片の長さ,がく片の幅,花びらの長さ,花びらの幅) |
setosa | データ内では、「0」と表されています |
versicolor | データ内では、「1」と表されています |
virginica | データ内では、「2」と表されています |
どんな機械学習ができるか | 分類問題 |
💭 データのイメージ
- 横 1 行分が、1 つのデータです。
- 4 個の特徴を学習に使います。
- 一番右の列の「target」の値を予測します。
📦【学習に使う 4 個の特徴】
このデータセットには、4 個の特徴が用意されています。
これらの特徴を学習し、そこからどの種類のアヤメなのかを予測します。
特徴の名前 | 説明 | |
---|---|---|
1 | sepal length (cm) | がく片の長さ |
2 | sepal width (cm) | がく片の幅 |
3 | petal length (cm) | 花びらの長さ |
4 | petal width (cm) | 花びらの幅 |
🎁【予測する対象】
4 個の特徴から、「どの種類のアヤメなのか」を予測します。
予測する対象 | 説明 |
---|---|
品種 | setosa, versicolor, virginica のどれに当てはまるか? |
3. 糖尿病患者の診療データセット
(Diabetes datasets)
「糖尿病患者の診療データセット」とは、糖尿病患者 442 人の「検査数値」と 1 年後の「進行状況」をデータセットにしたものです。
✅ POINT
全データ数 | 442 |
特徴の数(カラム数) | 10 |
どんな機械学習ができるか | 回帰問題 |
💭 データのイメージ
- 横 1 行分が、1 つのデータです。
- 10 個の特徴を学習に使います。
- 一番右の列の「target」の値を予測します。
📦【学習に使う 10 個の特徴】
このデータセットには、10 個の特徴が用意されています。
これらの特徴を学習し、そこから 1 年後の「進行状況」を未来予測します。
特徴の名前 | 説明 | |
---|---|---|
1 | age | 年齢 |
2 | sex | 性別 |
3 | bmi | ボディマス指数 |
4 | bp | 平均血圧 |
5 | s1 | tc、総血清コレステロール |
6 | s2 | ldl、低密度リポタンパク質 |
7 | s3 | hdl、高密度リポタンパク質 |
8 | s4 | tch、総コレステロール/ HDL |
9 | s5 | ltg、血清トリグリセリドレベルの対数 |
10 | s6 | glu、血糖値 |
🎁【予測する対象】
10 個の特徴から、その人の 1 年後の「進行状況」を未来予測します。
※進行状況は「151」「75」「141」のように、何を表しているのか分かりません。原文でも”a measure of disease progression one year after baseline”(ベースラインから 1 年後の疾患進行の尺度)としか書かれていないので、指標の 1 つとして考えれば良いのでしょうか?どなたか教えてください。。
予測する対象 | 説明 |
---|---|
糖尿病の進行状況 | 糖尿病が 1 年後にどれくらい進行しているのかを数値化したもの。 1 つの指標。 |
4. 数字の手書き文字データセット
(Digits datasets)
64 (8×8) 個の画素に、10 種類の手書き数字(0 ~ 9)を書いたデータセットです。
✅ POINT
このデータセットは、先ほどの 3 つのデータとは少し違います。データとして与えられているのは「1 枚の画像」です。より詳しくいうと「8×8 の空間に並べられた 64 個の数字」です。画像はたくさんの数字から構成されていますが、この 1 画素 1 画像が情報(特徴)となってきます。
1 つの画素に 1 つの数値が入っています。その数値は 0〜16 の範囲の値です。0〜16 の数値が 64 個分あり、8×8 の空間に並んでいる状態です。これで 1 枚の画像が表現されています。
全データ数 | 1797 |
どんな機械学習ができるか | 分類問題 |
💭 データのイメージ
1797 枚の画像と、その画像に何の数字が書いてあるか(正解データ)がセットになっています。
こんな感じの画像が 1797 枚あります。
こんな感じの 1797 個の正解ラベル(0 から 9)が、各画像に対応しています。
📦【学習に使う 64 個の特徴】
あまりこのような書き方はしないのですが、これまで紹介した 3 つのデータセットと同じ書き方をするなら、以下のような表になります。
特徴の名前 | 説明(0 から 16 の数値) | |
---|---|---|
1 | 1 画素目 | 0 |
2 | 2 画素目 | 0 |
3 | 3 画素目 | 4 |
62 | 62 画素目 | 16 |
63 | 63 画素目 | 13 |
64 | 64 画素目 | 0 |
🎁【予測する対象】
画像を読み取って、その画像にどんな数字が書いてあるかを判定します。
こんな感じの画像です
予測する対象 | 説明 |
---|---|
画像に書いてある数字 | 1 から 9 のどれか? |
少し休憩...
5. 生理学的特徴と運動能力の関係についてのデータセット
(Linnerrud datasets)
20 人の成人男性がフィットネスクラブで測定した 3 つの生理学的特徴(体重、胴囲、脈拍)と、3つの運動能力(懸垂の回数、腹筋の回数、跳躍)の関係を示したデータセットです。
✅ POINT
全データ数 | 20 |
どんな機械学習ができるか | 多変数回帰 (multivariate regression) |
💭 データのイメージ
学習データ(左 3 列)と予測するデータ(右 3 列)
📦【学習に使う 3 個の特徴】
このデータセットには、3 個の特徴が用意されています。
これらの特徴を学習し、そこからその人の「懸垂の回数」「腹筋の回数」「跳躍」を予測します。
特徴の名前 | 説明 | |
---|---|---|
1 | Weight | 体重 |
2 | Waist | ウエスト (胴囲) |
3 | Pulse | 脈拍 |
🎁【予測する対象】
3 個の特徴から、その地域の「懸垂の回数」「腹筋の回数」「跳躍」を予測します。
特徴の名前 | 説明 | |
---|---|---|
1 | Chins | 懸垂の回数 |
2 | Situps | 腹筋の回数 |
3 | Jumps | 跳躍 |
6. ワイン認識データセット
(Wine recognition datasets)
11 種類のワインの成分とワインの専門家によるワインの品質評価を含んだデータセットです。
✅ POINT
ワインの成分の情報 13 個から、そのワインの品種を当てます。ワインは 3 種類あり、class_0、class_1、class_2 という名前がついています。全 178 サンプルを使って 3 つのどの品種かを予測する AI を作ってみましょう。
全データ数 | 178 サンプル |
class_0 | 59 サンプル(データ内ではラベル「 0 」) |
class_1 | 71 サンプル(データ内ではラベル「 1 」) |
class_2 | 48 サンプル(データ内ではラベル「 2 」) |
どんな機械学習ができるか | 分類問題 |
💭 データのイメージ
ワインの種類(0 か 1 か 2 か)を予測します。一番右の列にあります。
📦【学習に使う 13 個の特徴】
このデータセットには、13 個の特徴が用意されています。
これらの特徴を学習し、どの種類のワインなのかを分類します。
特徴の名前 | 説明 | |
---|---|---|
1 | Alcohol | アルコール度数 |
2 | Malic acid | リンゴ酸 |
3 | Ash | 灰 |
4 | Alcalinity of ash | 灰のアルカリ度 |
5 | Magnesium | マグネシウム |
6 | Total phenols | 総フェノール |
7 | Flavanoids | フラボノイド |
8 | Nonflavanoid phenols | ノンフラバノイドフェノール |
9 | Proanthocyanins | プロアントシアニン |
10 | Color intensity | 色の濃さ |
11 | Hue | 色相 |
12 | OD280/OD315 of diluted wines | 希釈ワインの OD280/OD315 |
13 | Proline | プロリン |
🎁【予測する対象】
13 個の特徴を学習し、どの種類のワインなのかを分類します。
予測する対象 | 説明 | 個数 | |
---|---|---|---|
class_0 | 1 つ目のワインの種類 | 59 サンプル | データ内では「 0 」のラベルがついています |
class_1 | 2 つ目のワインの種類 | 71 サンプル | データ内では「 1 」のラベルがついています |
class_2 | 3 つ目のワインの種類 | 48 サンプル | データ内では「 2 」のラベルがついています |
7. 乳ガンのデータセット
(Breast cancer wisconsin datasets)
569 人分の乳ガンの診断データセットです。各サンプルは 30 種類の腫瘍の特徴量と腫瘍が良性か悪性かの診断結果を含んでいます。
✅ POINT
全データ数 | 569 サンプル |
どんな機械学習ができるか | 分類問題(良性か悪性か) |
💭 データのイメージ
平均(mean)
標準誤差(standard error)
最悪値(worst)
📦【学習に使う 30 個の特徴】
ガンに関する 10 の属性があります。それぞれの平均(mean)、標準偏差(error)、最悪値(worst)の 3 種類、合計 30 の特徴が用意されています。これらの特徴を学習し、そこから、「腫瘍が良性か悪性か」を予測します。
● 平均(mean)
特徴の名前 | 説明 | ||
---|---|---|---|
1 | radius | 半径 | 平均 |
2 | texture | テクスチャ―のグレースケールの標準偏差 | 平均 |
3 | perimeter | 外周長 | 平均 |
4 | area | 面積 | 平均 |
5 | smoothness | 中心から外周までの部分偏差 | 平均 |
6 | compactness | コンパクト性(外周長 2÷ 面積-1.0) | 平均 |
7 | concavity | コンターの凹部強度 | 平均 |
8 | concave points | コンターの凹点の数 | 平均 |
9 | symmetry | 対称性 | 平均 |
10 | fractal dimension | フラクタル次元 | 平均 |
● 標準偏差(error)
特徴の名前 | 説明 | ||
---|---|---|---|
11 | radius | 半径 | 標準偏差 |
12 | texture | テクスチャ―のグレースケールの標準偏差 | 標準偏差 |
13 | perimeter | 外周長 | 標準偏差 |
14 | area | 面積 | 標準偏差 |
15 | smoothness | 中心から外周までの部分偏差 | 標準偏差 |
16 | compactness | コンパクト性(外周長 2÷ 面積-1.0) | 標準偏差 |
17 | concavity | コンターの凹部強度 | 標準偏差 |
18 | concave points | コンターの凹点の数 | 標準偏差 |
19 | symmetry | 対称性 | 標準偏差 |
20 | fractal dimension | フラクタル次元 | 標準偏差 |
● 最悪値(worst)
特徴の名前 | 説明 | ||
---|---|---|---|
21 | radius | 半径 | 最悪値 |
22 | texture | テクスチャ―のグレースケールの標準偏差 | 最悪値 |
23 | perimeter | 外周長 | 最悪値 |
24 | area | 面積 | 最悪値 |
25 | smoothness | 中心から外周までの部分偏差 | 最悪値 |
26 | compactness | コンパクト性(外周長 2÷ 面積-1.0) | 最悪値 |
27 | concavity | コンターの凹部強度 | 最悪値 |
28 | concave points | コンターの凹点の数 | 最悪値 |
29 | symmetry | 対称性 | 最悪値 |
30 | fractal dimension | フラクタル次元 | 最悪値 |
🎁【予測する対象】
30 個の特徴から、その人が悪性か良性かを分類します。
予測する対象 | 説明 | |
---|---|---|
malignant | 悪性 | データ内では「 0 」で表されます |
benign | 良性 | データ内では「 1 」で表されます |
少し休憩...
● Real World Datasets(実世界データセット)
ダウンロードすることで使える、サイズの大きいデータです。
現時点で 7 つのデータセットを使うことができます。
Real World Datasets の一覧
-
40 人の各 10 種類の顔画像データセット
顔写真からどの人なのかを当てよう!
-
20 の話題に関する 18000 のニュース記事データセット
何の話題について書かれているか分類しよう!
-
5749 人分の有名人の顔写真データセット
顔写真からどの人なのかを当てよう!
-
森林の木の種類データセット
土地の情報を元に、生えてる木の種類を当てよう!
-
カテゴリ別のニュースデータセット
このニュースは何のトピックについて書かれているか分類しよう!
-
ネットワークの侵入検知データセット
ネットワーク通信が攻撃的かどうかを当てよう!
-
カリフォルニアの住宅価格データセット
家賃を予測しよう!
続きの内容は本にまとめてあります。
手に取って頂けるととても喜びます。
書いてある内容 ↓
1. 40 人の各 10 種類の顔画像データセット
(The Olivetti faces dataset)
2. 20 の話題に関する 18000 のニュース記事データセット
(The 20 newsgroups text dataset)
3. 5749 人分の有名人の顔写真データセット
(The Labeled Faces in the Wild face recognition dataset)
4. 森林の木の種類データセット
(Forest covertypes)
5. カテゴリ別のニュースデータセット
(RCV1 dataset)
6. ネットワークの侵入検知データセット
(Kddcup 99 dataset)
7. カリフォルニアの住宅価格データセット
(California Housing dataset)
人工知能/AI/機械学習をもっと詳しく
ねこアレルギーの AI
YouTube で機械学習について発信しています。
お時間ある方は覗いていただけると喜びます。
Created by NekoAllergy
参考資料
Discussion