Breast cancer wisconsinデータセット

概要

breast cancerデータはUCIの機械学習リポジトリ―にあるBreast Cancer Wisconsin (Diagnostic) Data Setのコピーで、乳腺腫瘤の穿刺吸引細胞診(fine needle aspirate (FNA) of a breast mass)のデジタル画像から計算されたデータ。

乳癌に関する細胞テストの様々な数値と、その結果のデータセット。569人の被検者の複数の腫瘤に関する細胞診の結果得られた30個の特徴量と、各被験者の診断結果(悪性/良性:benign/malignant)が格納されている。

ここではPythonのscikit-learnにあるbreast_cancerデータの使い方をまとめる。

データの取得とデータ構造

Pythonで扱う場合、scikit-learndatasetsモジュールにあるload_breast_cancer()でデータを取得できる。データはBunchクラスのオブジェクト。

データの構造は辞書型で、569人の細胞診の結果に関する30個の特徴量をレコードとしたの配列、各腫瘤の診断結果など。

データのキーは以下のようになっている。

データの内容

'data'~特徴量データセット

569人の細胞診結果に対する30個の特徴量のデータを格納した2次元配列。列のインデックス(0~29)が30個の特徴量に対応している。

'target'~診断結果に対応したコード

各被検者の診断結果(悪性:malignant、良性:benign)を格納した0/1のコードの配列。569個の腫瘤に対応した1次元配列(0:悪性が212、1:良性が357)。

'target_names'~診断結果

診断結果、悪性(malignant)/良性(benign)が定義されている。。

診断結果とコードの関係は以下の通り。

malignant 0
benign 1

'feature_names'~特徴名

データの格納順はDESCRの後。細胞診の結果得られた30個の特徴量の名前。

腫瘤に関する以下の10の属性について、それぞれ平均(mean)、標準偏差(error)、最悪値(worst)の3種類、合計30の特性値に対する名前が格納されている。ここでworstは各属性に関する最大値となっている。

  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:フラクタル次元

特徴名とコードの関係は以下の通り。

mean error worst
radius 0 10 20
texture 1 11 21
perimeter 2 12 22
area 3 13 23
smoothness 4 14 24
compactness 5 15 25
concavity 6 16 26
concave points 7 17 27
symmetry 8 18 28
fractal dimension 9 19 29

'filename'~ファイル名

これも格納順はDESCRの後で、CSVファイルの位置が示されている。1行目にはデータ数、特徴量数、特徴量名称が並んでおり、その後に569行のレコードに対する4列の特徴量と1列の診断結果データが格納されている。このファイルにはfeature_namesDESCRに当たるデータは格納されていない。

'DESCR'~データセットの説明

データセットの説明。print(breast_ds_dataset['DESCR'])のようにprint文で整形表示される。

  • レコード数569個(悪性:212、良性:357)
  • 属性は、30の数値属性とクラス
    →predictiveの意味とclassが単数形なのがわからない

データの利用

データの取得方法

breast_cancerデータセットから各データを取り出すのに、以下の2つの方法がある。

  • 辞書のキーを使って呼び出す(例:breast_cancer_dataset['DESCR']
  • キーの文字列をプロパティーに指定する(例:breast_cancer_dataset.DESCR

全レコードの特徴量データの取得

'data'から、569のレコードに関する30の特徴量が569行30列の2次元配列で得られる。30の特徴量は'feature_names'の30の特徴名に対応している。

特定の特徴量のデータのみ取得

特定の特徴量に関する全レコードのデータを取り出すときにはX[:, n]の形で指定する。

特定のクラスのデータのみ抽出

特定のクラス(この場合は診断結果)のレコードのみを抽出する方法。ndarrayの条件による要素抽出を使う。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です