すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:心臓病を予測する

最終更新日:Jul 22, 2024

心臓病は人間の命を脅かします。 健康診断データに基づいて心臓病の身体指標を分析することができれば、心臓病を予防することができる。 このトピックでは、心臓病患者の健康診断データに基づいて、データマイニングアルゴリズムを使用してPlatform for AI (PAI) で心臓病予測モデルを構築する方法について説明します。

前提条件

データマイニング手順

image

データセット

このトピックで説明するパイプラインでは、UCI Machine Learning Repositoryのオープンソースデータセットを使用します。 詳細については、「心臓病データセット」をご参照ください。 データセットには、米国の地域の303人の心臓病患者の健康診断データが含まれています。 次の表に、データセットのフィールドを示します。

項目

データ型

説明

age

STRING

患者の年齢。

性別

STRING

患者の性別。 有効な値: femalemale

cp

STRING

患者が持っている胸痛のタイプ。 有効な値: 典型的非定型非狭心症無症候性

trestbps

STRING

患者の安静時血圧レベル。

チョル

STRING

患者の血清コレステロールレベル。

fbs

STRING

患者の空腹時血糖値。 空腹時血糖値が120 mg/dlを超える場合、値はtrueに設定されます。 それ以外の場合、値はfalseに設定されます。

restecg

STRING

患者の安静時心電図 (ECG) の結果。 有効な値: normhyp

タラハ

STRING

患者の最大心拍数。

exang

STRING

患者が運動誘発性狭心症を有するかどうかを示す。 有効な値は truefalse です。

oldpeak

STRING

安静に対する運動によって誘発されるSTうつ病。

slop

STRING

ピーク运动STセグメントの勾配。 有効な値: downflatup

ca

STRING

蛍光透視法によって着色される主要な血管の数。

thal

STRING

患者が持っている欠陥のタイプ。 有効な値: normfixrev

status

STRING

患者の心臓病の存在。 有効な値: buffsick

心臓病を予測する

  1. Machine Learning Designerページに移動します。

    1. PAIコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、管理するワークスペースの名前をクリックします。

    3. ワークスペースページの左側のナビゲーションウィンドウで、モデル开発とトレーニング > ビジュアルモデリング (デザイナー)機械学習デザイナーページに移動します。

  2. Build a pipeline

    1. 可视化モデリング (デザイナー)ページで、プリセットテンプレートタブをクリックします。

    2. [パイプラインテンプレート] タブの [心臓病の予測] セクションで、[作成] をクリックします。

    3. [パイプラインの作成] ダイアログボックスで、必要なパラメーターを設定します。 デフォルト値を使用できます。

      Pipeline Data Pathパラメーターに指定された値は、パイプラインのランタイム中に生成された一時データおよびモデルのObject Storage Service (OSS) バケットパスです。

    4. OKをクリックします。

      パイプラインの作成には約10秒かかります。

    5. [パイプラインリスト] タブで、心臓病予測という名前のパイプラインを見つけ、開く.

    6. 次の図に示すように、キャンバス上のパイプラインのコンポーネントを表示します。 システムは、プリセットテンプレートに基づいてパイプラインを自動的に作成します。

      心脏病预测实验

      エリア

      説明

      このセクションに表示されるコンポーネントは、データを前処理します。 たとえば、コンポーネントはデータのノイズを除去し、欠落した値を埋め、値を数値に変換します。 各サンプルにおいて、患者は健康または病気のいずれかである。 したがって、このパイプラインでの心臓病の予測は分類の問題です。 このパイプラインで使用されるデータセットには、14のフィーチャフィールドと1つのゴールフィールドが含まれます。 データの前処理中に、各フィールドの値は、フィールドの意味に基づいて数値に変換する必要があります。 パラメーター:

      • 2値フィールド: コンポーネントは一方の値を0に、もう一方の値を1に変換します。 たとえば、性別フィールドの値は女性または男性です。 変換後、0女性を指定し、1男性を指定します。

      • 多値フィールド: コンポーネントは、値を0、1、2、または3に変換します。 たとえば、cpフィールドには、胸痛の種類を軽いものから重いものまで指定する4つの値があります。 変換後、0〜3の値を使用して、軽度から重度への胸痛のレベルを指定します。

      サンプルSQLスクリプト:

      select age,
      (case sex when 'male' then 1 else 0 end) as sex,
      (case cp when 'angina' then 0  when 'notang' then 1 else 2 end) as cp,
      trestbps,
      chol,
      (case fbs when 'true' then 1 else 0 end) as fbs,
      (case restecg when 'norm' then 0  when 'abn' then 1 else 2 end) as restecg,
      thalach,
      (case exang when 'true' then 1 else 0 end) as exang,
      oldpeak,
      (case slop when 'up' then 0  when 'flat' then 1 else 2 end) as slop,
      ca,
      (case thal when 'norm' then 0  when 'fix' then 1 else 2 end) as thal,
      (case status  when 'sick' then 1 else 0 end) as ifHealth
      from  ${t1};

      このセクションに表示されるコンポーネントは、フィーチャの派生やスケール変更などのフィーチャエンジニアリングを実行します。 ロジスティック回帰モデルはDOUBLE型の入力データのみを受け入れるため、Type Transformコンポーネントは入力特徴データをDOUBLE型に変換します。 次に、Feature Select Runnerコンポーネントは、エントロピーとGiniインデックスを使用して、予測結果に対する各特徴の影響を測定します。 正規化コンポーネントは、各フィーチャの値を0から1の範囲の値に変換します。 これにより、予測結果に対するディメンションの影響が取り除かれます。 正規化式は、result=(val − min)/(max − min) である。

      このセクションに表示されるコンポーネントは、モデルをトレーニングして予測を実行します。

      1. 分割コンポーネントは、データセットを7:3の比率でトレーニングデータセットと予測データセットに分割します。

      2. ロジスティック回帰コンポーネントはモデルをトレーニングします。

        説明

        PMMLモデルファイルをエクスポートする場合は、[フィールド設定] タブの [PMMLを生成するかどうか] チェックボックスをオンにします。 キャンバス上の空白領域をクリックし、[パイプライン属性] タブで [データストレージ] を指定します。

      3. トレーニングデータセットと予測データセットが予測コンポーネントにインポートされます。 予測コンポーネントは、予測結果を生成する。

      Confusion MatrixおよびEvaluateコンポーネントは、モデルを評価します。

  3. パイプラインを実行し、結果を表示します。

    1. キャンバスの左上隅で、imageアイコンが表示されます。

    2. パイプラインの実行後、ロジスティック回帰キャンバス上のコンポーネントを選択し、モデルオプション > PMMLファイルへのエクスポートトレーニングされた心臓病予測モデルをエクスポートします。

    3. キャンバスで [予測] を右クリックし、[データの表示] > [予測結果出力ポート] を選択して予測結果を表示します。 モデルの評価レポートを表示します。

  4. 結果を表示します。

    1. キャンバス上の評価を右クリックし、ビジュアル分析をクリックします。

    2. では、評価ダイアログボックスで、インデックスデータタブでモデルの評価に使用されるインデックスを表示します。

      指标数据評価レポートでは、AUCの値は、モデルの予測精度が90% よりも高いことを示しています。

    3. キャンバス上の混乱マトリックスを右クリックし、ビジュアル分析をクリックします。

    4. では、混乱マトリックスダイアログボックスで、統計タブを使用して、モデルの精度などのモデル統計を表示します。