より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

scikit-learnの乳がんデータセットで機械学習

scikit-learnには乳がんのデータもあるので、糖尿病患者のデータセットに引き続きを確認します。

yolo.love

5. Dataset loading utilities — scikit-learn 0.20.2 documentation

f:id:rimever:20181226070532p:plain

radius,smoothnessなどの観点について、それぞれ平均、標準誤差、最大(worst)で数値化してます。

radius(半径)とかsmoothness(滑らかさ)とかありますが、採取した細胞の情報です。実際のバストサイズに関わる話ではありません。

そもそも男性も乳がんにかかる可能性はあります。

乳がんの診断について調べたところ、

www.saiken.info

間接診断として、問診やレントゲンで検査したのち、体内のしこりを検出された場合に、直接診断に移り、細胞を採取して検査する。

この直接診断で採取された細胞の画像を数値に変換したのが、このデータセットということでしょう。

目標変数

f:id:rimever:20181226072540p:plain

目標変数については1が悪性と私は思ってしまったのですが、仕様書(212 - Malignant, 357 - Benign)を読むと0が悪性で1が良性です。

相関図をみる時も通常は1に近い値が強く相関してますが、今回は-1に近い値の方が悪性腫瘍に相関していると見る必要があります。

f:id:rimever:20181226211501p:plain

といっても今回は、この値というよりは、多くの値が強く相関している印象です。

乳がんのデータセットが入っていると知った時、そんなデータセットが標準で入れるのか、縁起悪いなと私は思ってました。

データセットとしては2値問題ですし、機械学習を始める際には扱いやすいのかなと思われます。

f:id:rimever:20181226212532p:plain

f:id:rimever:20181226212630p:plain

また、怖いくらいの精度が出ましたね。

Kaggleに下記のような記事があったので、間違ってはないかなと。

Predicting Breast Cancer with Random Forest (~95%) | Kaggle

実際に、これくらいの精度で診断ができれば、医師の助けになりますね。

こんな風に医療従事者の手助けが出来ると良いのですね。