# クラウドにおけるデータサイエンス入門 |![ [(@sketchthedocs)](https://sketchthedocs.dev) によるスケッチノート ](../../sketchnotes/17-DataScience-Cloud.png)| |:---:| | クラウドにおけるデータサイエンス: 入門 - _[@nitya](https://twitter.com/nitya) によるスケッチノート_ | このレッスンでは、クラウドの基本原則を学び、クラウドサービスを利用してデータサイエンスプロジェクトを実行することがなぜ興味深いのかを理解します。また、クラウドで実行されるデータサイエンスプロジェクトのいくつかの例を見ていきます。 ## [講義前クイズ](https://purple-hill-04aebfb03.1.azurestaticapps.net/quiz/32) ## クラウドとは? クラウド、またはクラウドコンピューティングとは、インターネットを介して提供される幅広い従量課金型のコンピューティングサービスを指します。これには、ストレージ、データベース、ネットワーキング、ソフトウェア、分析、インテリジェントサービスなどのソリューションが含まれます。 通常、クラウドは以下のように分類されます: * **パブリッククラウド**: パブリッククラウドは、第三者のクラウドサービスプロバイダーが所有・運営し、インターネットを介して一般にコンピューティングリソースを提供するものです。 * **プライベートクラウド**: プライベートクラウドは、特定の企業や組織が専用で使用するクラウドコンピューティングリソースを指し、サービスやインフラはプライベートネットワーク上で管理されます。 * **ハイブリッドクラウド**: ハイブリッドクラウドは、パブリッククラウドとプライベートクラウドを組み合わせたシステムです。ユーザーはオンプレミスのデータセンターを利用しながら、データやアプリケーションを1つ以上のパブリッククラウドで実行することができます。 ほとんどのクラウドコンピューティングサービスは、以下の3つのカテゴリに分類されます:Infrastructure as a Service (IaaS)、Platform as a Service (PaaS)、Software as a Service (SaaS)。 * **Infrastructure as a Service (IaaS)**: サーバーや仮想マシン(VM)、ストレージ、ネットワーク、オペレーティングシステムなどのITインフラをレンタルします。 * **Platform as a Service (PaaS)**: ソフトウェアアプリケーションの開発、テスト、提供、管理のための環境をレンタルします。ユーザーはサーバー、ストレージ、ネットワーク、データベースなどの基盤インフラを設定・管理する必要がありません。 * **Software as a Service (SaaS)**: インターネットを介してオンデマンドで、通常はサブスクリプションベースでソフトウェアアプリケーションにアクセスします。ユーザーはソフトウェアアプリケーションのホスティングや管理、基盤インフラ、メンテナンス(ソフトウェアのアップグレードやセキュリティパッチなど)を気にする必要がありません。 主要なクラウドプロバイダーには、Amazon Web Services、Google Cloud Platform、Microsoft Azure などがあります。 ## データサイエンスにクラウドを選ぶ理由 開発者やITプロフェッショナルがクラウドを利用する理由には、以下のようなものがあります: * **イノベーション**: クラウドプロバイダーが提供する革新的なサービスをアプリに統合することで、アプリケーションを強化できます。 * **柔軟性**: 必要なサービスだけを利用し、幅広いサービスから選択できます。通常、従量課金制で、進化するニーズに応じてサービスを調整できます。 * **予算**: ハードウェアやソフトウェアを購入し、オンサイトのデータセンターを設置・運営する初期投資が不要で、使用した分だけ支払えば済みます。 * **スケーラビリティ**: プロジェクトのニーズに応じてリソースを拡張できます。これにより、アプリケーションは外部要因に応じてコンピューティングパワー、ストレージ、帯域幅を増減できます。 * **生産性**: データセンターの管理など、他者に任せられるタスクに時間を費やすのではなく、本業に集中できます。 * **信頼性**: クラウドコンピューティングは、データの継続的なバックアップや災害復旧計画の設定を可能にし、危機的状況でもビジネスやサービスを継続できます。 * **セキュリティ**: プロジェクトのセキュリティを強化するポリシー、技術、管理を利用できます。 これらは、クラウドサービスを利用する主な理由の一部です。クラウドの概要とその主な利点を理解したところで、データサイエンティストやデータを扱う開発者の仕事に焦点を当て、クラウドが彼らの直面する課題をどのように解決できるかを見ていきましょう: * **大量のデータの保存**: 大型サーバーを購入、管理、保護する代わりに、Azure Cosmos DB、Azure SQL Database、Azure Data Lake Storage などのソリューションを使用して、データを直接クラウドに保存できます。 * **データ統合の実行**: データ統合はデータサイエンスの重要な部分であり、データ収集からアクションへの移行を可能にします。クラウドで提供されるデータ統合サービスを使用すると、さまざまなソースからデータを収集、変換、統合して単一のデータウェアハウスにまとめることができます(例:Data Factory)。 * **データの処理**: 大量のデータを処理するには多くのコンピューティングパワーが必要ですが、すべての人がそれに十分なマシンを持っているわけではありません。そのため、多くの人がクラウドの膨大なコンピューティングパワーを直接活用してソリューションを実行・展開しています。 * **データ分析サービスの利用**: Azure Synapse Analytics、Azure Stream Analytics、Azure Databricks などのクラウドサービスを使用して、データを実用的な洞察に変えることができます。 * **機械学習とデータインテリジェンスサービスの利用**: ゼロから始める代わりに、クラウドプロバイダーが提供する機械学習アルゴリズムを使用できます(例:AzureML)。また、音声認識、音声合成、コンピュータビジョンなどのコグニティブサービスも利用可能です。 ## クラウドにおけるデータサイエンスの例 いくつかのシナリオを見て、具体的に理解を深めましょう。 ### リアルタイムのソーシャルメディア感情分析 機械学習を始めたばかりの人々がよく取り組むシナリオとして、リアルタイムのソーシャルメディア感情分析があります。 例えば、ニュースメディアのウェブサイトを運営しているとしましょう。読者が興味を持ちそうなコンテンツを理解するために、Twitterの投稿データをリアルタイムで感情分析するプログラムを構築できます。 注目すべき指標は、特定のトピック(ハッシュタグ)に関するツイートの量と感情です。感情は、指定されたトピックに関する感情分析を実行する分析ツールを使用して確立されます。 このプロジェクトを作成するための手順は以下の通りです: * 入力ストリーミングを収集するためのイベントハブを作成 * Twitterクライアントアプリケーションを設定して開始し、Twitter Streaming API を呼び出す * Stream Analytics ジョブを作成 * ジョブの入力とクエリを指定 * 出力先を作成し、ジョブの出力を指定 * ジョブを開始 完全なプロセスについては、[ドキュメント](https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?WT.mc_id=academic-77958-bethanycheum&ocid=AID30411099)を参照してください。 ### 科学論文の分析 このカリキュラムの著者の一人である[Dmitry Soshnikov](http://soshnikov.com)が作成したプロジェクトの例を見てみましょう。 Dmitryは、COVIDに関する論文を分析するツールを作成しました。このプロジェクトをレビューすることで、科学論文から知識を抽出し、洞察を得て、大量の論文コレクションを効率的にナビゲートするツールを作成する方法を学べます。 このプロジェクトで使用された手順は以下の通りです: * [Text Analytics for Health](https://docs.microsoft.com/azure/cognitive-services/text-analytics/how-tos/text-analytics-for-health?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) を使用して情報を抽出および前処理 * [Azure ML](https://azure.microsoft.com/services/machine-learning?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) を使用して処理を並列化 * [Cosmos DB](https://azure.microsoft.com/services/cosmos-db?WT.mc_id=academic-77958-bethanycheum&ocid=AID3041109) に情報を保存し、クエリを実行 * Power BI を使用してデータ探索と可視化のためのインタラクティブなダッシュボードを作成 完全なプロセスについては、[Dmitryのブログ](https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/)を参照してください。 このように、クラウドサービスを活用することで、さまざまな方法でデータサイエンスを実行できます。 ## 脚注 出典: * https://azure.microsoft.com/overview/what-is-cloud-computing?ocid=AID3041109 * https://docs.microsoft.com/azure/stream-analytics/stream-analytics-twitter-sentiment-analysis-trends?ocid=AID3041109 * https://soshnikov.com/science/analyzing-medical-papers-with-azure-and-text-analytics-for-health/ ## 講義後クイズ ## [講義後クイズ](https://ff-quizzes.netlify.app/en/ds/) ## 課題 [市場調査](assignment.md) --- **免責事項**: この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を期すよう努めておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された原文が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の利用に起因する誤解や誤認について、当社は一切の責任を負いません。