一般公開されている医療データセットを分析して洞察を引き出す  

Watson Studio と scikit-learn による機械学習を利用して、米国のオピオイド処方医師について予測する

Last updated | By Madison J. Myers

Description

世界中に健康問題が溢れかえる中、さまざまな健康問題のデータを抽出してそこから意味を引き出そうと目指しているデータ・サイエンティストの目の前にはデータの金鉱があります。そのようなデータの金鉱の 1 つとして、このコード・パターンではオピオイドの過剰摂取による死亡に関する調査データ・セットを探索します。パターンに沿って、データを Watson Studio ノートブック内で探索する方法、初期の探索結果のいくつかを視覚化する方法、そして scikit-learn を使用してさまざまなモデルをトレーニングする方法と、どのモデルがオピオイドの処方について最も正確に予測したかを評価する方法を学んでください。

Overview

米国では、オピオイドの過剰摂取が非常に深刻な問題になってきています。データ・サイエンティストが独力でこの問題を解決できるわけではありませんが、データを調べて、この問題の現状と特定の結果を招いている要因を特定することはできます。

このコード・パターンでは、オピオイドの過剰摂取による死亡や処方者のタイプ、処方などの値が含まれた Kaggle データセットに基づき、scikit-learn と Python を (IBM Watson Studio 内で) 使用してオピオイド処方医師について予測する方法を説明します。具体的には、Watson Studio ノートブック内でデータを探索し、Pixie Dust を使用して初期の探索結果をさまざまな形で視覚化します。初期探索プロセスが完了した後は、scikit-learn を使用してさまざまなモデルをトレーニングし、どのモデルが最も正確にオピオイドの処方を予測したかを突き止めます。scikit-learn ライブラリーを使用すれば、いくつもの機械学習分類子に簡単にアクセスできます。しかも、これらの分類子を実装するために作成しなければならないコードは比較的わずかです。

このコード・パターンは、社会的正義の問題や健康問題に関心を持つデータ・サイエンティストやデータ愛好家、あるいは DSX と機械学習の入門者を対象に、データの探索方法、データのクリーニング方法、モデルのトレーニング方法、モデルの評価方法を説明することを目的に作成されています。

このコード・パターンをひと通り完了することで、以下の方法がわかるようになります。

  • Watson Studio を使用する
  • 複数のデータフレームを探索する
  • 探索結果を視覚化する
  • Python と pandas を使用してデータをクリーニングする
  • ターゲット変数を予測する、さまざまな機械学習モデルを作成する
  • モデルのパフォーマンスを評価する

Flow

  1. IBM Watson Studio サービスにログインします。
  2. Watson Studio 内でデータをデータ・アセットとしてアップロードします。
  3. Watson Studio 内でノートブックを起動し、作成したデータ・アセットを入力します。
  4. pandas を使用してデータを探索します。
  5. Pixie Dust を使用してデータ視覚化を作成します。
  6. scikit-learn を使用して機械学習モデルをトレーニングします。
  7. 各モデルの予測パフォーマンスを評価します。

Instructions

このパターンの詳細な手順については、README を参照してください。手順の概要は以下のとおりです。

  1. IBM Watson Studio にサインアップします。
  2. ノートブックを作成します。
  3. ノートブックを実行します。
  4. 結果を保存して共有します。
  5. Python を使用してデータをクリーニングします。
  6. scikit-learn を使用してさまざまなモデルを実行し、オピオイド処方医師について予測します。
  7. モデルを評価します。

Related Blogs

IBM Developer へようこそ

新しい IBM Developer へようこそ!私たちはこの新しいプロジェクトに大いに張り切っていますが、まずは皆さんについて、つまり開発者についてお話ししたいと思います。 私は開発者である皆さんを称賛します。私自身も開発者として、この業界で起きていること、つまりクラウド、データ/アナリティクス、人工知能、トランザクション、ブロックチェーンのコンバージェンスを目にしていますが、開発者の皆さんの、文字どおりすぐに新しいテクノロジーに対応する能力に心から敬服します。これまでの歴史全体を通して、ソフトウェア開発者という職業を、今ほど誇らしく思える時代はありません。IBM での私たちの使命は、開発者という専門的職業を、世界で最も尊敬すべき、最も需要の高い職業として受け止められるようにすることです。 なぜなら、開発者は毎日、未来を築いているからです。このサイトは、皆さんと一緒に築いていきたい未来を映し出し、讃えるためのものです。 私たちのチームは、開発者のアドボケイト (支持者)、デザイナー、コンテンツ編集者で構成されています。この有能なチームが、必要なツールを確実に開発者に提供できるよう、全力を尽くします。 間違いなく、このサイトは皆さんのサイトです。私たちは開発者の価値観を反映するために、コード、コンテンツ、コミュニティーからなる IBM Developer サイトを立ち上げました。私たちがこのサイトで目標としているのは、皆さんが開発者としての責務をより迅速に、よりスマートに、より効果的に果たせるよう支援することに尽きます。 この目標を達成する IBM Developer ならではの手段として、コード、コンテンツ、コミュニティーを 1 つのエンティティーにまとめています。 コード 開発者の能力は、開発者が世に送り出すコードにそのまま反映されます。開発者の能力がコードの威力を超えることはありません。だからこそ、開発者が非の打ちどころのない美しいコードをより迅速に作成し、競争相手よりも迅速にコードをデプロイして市場に送り出せるようサポートすることが、私たちの任務だと思っているのです。ただそれだけです。 IBM Developer を開始するきっかけとなったのは、開発者にフォーカスしたサイトを作成したらどうだろうかというアイデアです。そのサイトでコードを前面に押し出し、実際の問題を解決することを重点に置き、開発者がその責務をより迅速に、よりスマートに、より効果的に果たすために利用できるようにするには、どこから始めればよいだろうか考えました。 答えは明白です。コードが出発点となります。 開発者の目標は、開発者自身と同じく、それぞれに異なります。意図も、情熱も、才能もそれぞれに異なる開発者が取り組むプロジェクトは、とんでもなくシンプルなものから気が遠くなるほどに複雑なものまで、多岐にわたります。 独自のアプリケーションを開発して数分で稼働できるよう開発者をサポートするためには、すぐに使えるコードを用意し、開発者が簡単にそれを入手してフォークし、本番アプリケーションに組み込めなければなりません。単純にとらえ過ぎていると思われるかもしれませんが、文字どおり単純な話なのです。そして、コードをすぐに利用できるようにする手段となるのが、私たちが作成するコンテンツです。 コンテンツ 開発者が利用するコンテンツについてと、そうしたコンテンツをどのような方法で利用したいかについて、開発者たちとかなりの時間をかけて話し合いました。その結果、クラウド、データ、AI、ブロックチェーンなどのテクノロジーを使用して特定の機能をアプリケーションに統合する方法を垣間見られる、数百のコード・パターンを作成することになりました。どのパターンをクリックしても、最初に表示されるのは、コードを取得するための「コードを入手する」ボタンです。このボタンをクリックしてコードを取得し、開発を始めることができます。 コード・パターンはこのサイトの特徴的なコンテンツですが、その一方で、皆さんは特定のテクノロジーを使用して特定のタスクに取り組む方法について理解するためのチュートリアルもお望みのはずです。そこで、コンテキストを説明し、最先端のテクノロジーに関する理解を広げる、SME による数々の記事も用意しています。また、IBM Developer 動画デモでは特定のテクノロジーを使用する手順を案内し、インタビューでは最新の傾向に対する業界トップの見解を紹介しています。さらに、ニュース・セクションでは、テクノロジー分野での最新の動向に関する洞察を得ることができます。 テクノロジー分野といえば、IBM Developer の寄稿者たちがフォーカスしている主なテクノロジー分野は 20 を超えていますが、コンテンツには 50 以上の主題別にタグを付けているので、探しているコンテンツを簡単に見つけられるようになっています。私たちは IBM であり、開発を公にすることの価値を信じています。このことから、サイトでは全体にわたって、オープンソース・テクノロジーを大きく取り上げていることを見てとれるはずです。200 を超えるオープンソース・プロジェクトを話題にしたコンテンツに、ワンクリックでアクセスできます。これらのプロジェクトを利用して、変更を加え、その成果を IBM Developer にコントリビュートしてください。 私たちは多言語のマルチクラウドの世界に生きているので、IBM 社員以外の人々からの話も聞きたいはずです。そのため、今後数週間にわたり、開発者コミュニティーに大々的にコントリビューションを公開することになっています。そうです。コンテンツに対するこうしたアプローチをオープンソースのように公開することで、より大きなコミュニティーからのコントリビューションを促そうとしているのです。 公開したコンテンツのすべては、エラスティック・サーチを通じて一体化されます。 コミュニティー IBM Coder Community は、開発者たちに、イノベーションを生み、アイデアを交換し、学習する場であるコミュニティーに参加してもらうためのものです。つまり、開発者同士を結び付けて経験を共有するハブの役割を果たします。 IBM...

続けて読む IBM Developer へようこそ

Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

みなさまこんにちは! 年々、テレビのニュースや新聞を見て、異常気象による集中豪雨や猛暑が各地で発生していると感じている方は多いのではないでしょうか。自然災害による甚大な被害をもたらしているのは日本だけではありません。「自然災害」は、今、世界が立ち向かうべき最も大きな試練となっています。 IBMは、2018年5月24日、パートナー団体と共に「Call for Code」をいう取り組みを発表し、世界中のデベロッパーが最新の技術を駆使して、コードで世界にポジティブな変化を与える支援をはじめました。 2018年の Call for Code チャレンジでは、「自然災害」をテーマに自然災害を打ち破り、地域社会や自然災害対策を強化を目指し、IBM Cloud サービスを活用したソリューションを構築するコンペティッションを開催します。18歳以上の個人または最大5名までのチームで参加することができます。優勝チームには USD200,000 (2,200万円相当) が贈られます。 これを機に皆さんにも「Call for Code」にご参加いただき、クラウド、データ、AI、ブロックチェーンを活用するためのIBMのテクノロジーにも触れていただければと思います。詳しくはサイトをご覧ください。 Call for Code(日本語サイト) Call for Code への参加するまでの手引き(日本語解説資料) IBM Code Patterns : Watson を活用した AI やクラウドなどのアプリ開発に役立つサンプルコードを提供

続けて読む Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

Related Links

Watson Studio

Solve your toughest data challenges with the best tools and the latest expertise in a social environment built by data scientists.

pandas

Provides high-performance, easy-to-use data structures and data analysis tools for the Python programming language.

Pixie Dust

An open source Python helper library that works as an add-on to Jupyter notebooks to improve the user experience of working with data.

scikit-learn

Simple and efficient tools for data mining and data analysis.