# クラウドにおけるデータサイエンス入門 |![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../sketchnotes/17-DataScience-Cloud.png)| |:---:| | クラウドにおけるデータサイエンス: 入門 - _スケッチノート by [@nitya](https://twitter.com/nitya)_ | このレッスンでは、クラウドの基本原則を学びます。その後、クラウドサービスを利用してデータサイエンスプロジェクトを実行することがなぜ興味深いのかを理解し、クラウドで実行されるデータサイエンスプロジェクトのいくつかの例を見ていきます。 ## [講義前クイズ](https://ff-quizzes.netlify.app/en/ds/quiz/32) ## クラウドとは? クラウド、またはクラウドコンピューティングとは、インターネットを介して提供される幅広い従量課金型のコンピューティングサービスを指します。これには、ストレージ、データベース、ネットワーキング、ソフトウェア、分析、インテリジェントサービスなどのソリューションが含まれます。 通常、クラウドは以下のようにパブリッククラウド、プライベートクラウド、ハイブリッドクラウドに分類されます: * **パブリッククラウド**: パブリッククラウドは、第三者のクラウドサービスプロバイダーによって所有および運営され、インターネットを介して一般にコンピューティングリソースを提供します。 * **プライベートクラウド**: プライベートクラウドは、特定の企業や組織が専用で使用するクラウドコンピューティングリソースを指し、サービスやインフラはプライベートネットワーク上で維持されます。 * **ハイブリッドクラウド**: ハイブリッドクラウドは、パブリッククラウドとプライベートクラウドを組み合わせたシステムです。ユーザーはオンプレミスのデータセンターを選択しながら、データやアプリケーションを1つ以上のパブリッククラウドで実行することができます。 クラウドコンピューティングサービスの多くは、以下の3つのカテゴリに分類されます:IaaS、PaaS、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/quiz/33) ## 課題 [市場調査](assignment.md) --- **免責事項**: この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を期すよう努めておりますが、自動翻訳には誤りや不正確な表現が含まれる可能性があります。原文(元の言語で記載された文書)が公式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の利用に起因する誤解や誤認について、当方は一切の責任を負いません。