このガイドでは、初心者向けの8つの楽しい機械学習プロジェクトについて説明します。 プロジェクトは、自分の時間を有効に使うための最高の投資のひとつです。
どんなに理論があっても、実践的な練習にはかないません。 教科書やレッスンでは、目の前に教材があるため、習得したかのように錯覚してしまいます。
プロジェクトは、応用的なMLのスキルを素早く向上させ、興味深いトピックを探求する機会を与えてくれます。
さらに、プロジェクトをポートフォリオに加えることで、就職やクールなキャリアの機会、さらには給料アップの交渉を容易にすることができます。
ここでは、初心者向けの楽しい機械学習プロジェクトを8つご紹介します。どれも週末に完成させることができますし、楽しければもっと長いプロジェクトに発展させることもできます。
目次
- 機械学習グラディエーター
- マネーボールをプレイする
- 株価を予測する
- ニューラルネットワークに手書き文字を読ませる
- エンロンを調査するli
- MLアルゴリズムを一から書く
- ソーシャルメディアのセンチメントを調査する
- ヘルスケアを改善する
Machine Learning Gladiator
私たちはこれを親しみを込めて「機械学習グラディエーター」と呼んでいます。”と呼んでいますが、新しいものではありません。
このプロジェクトの目的は、すぐに使えるモデルをさまざまなデータセットに適用することです。
まず、モデルと問題の適合性についての直観を養います。 どのモデルが欠損データに対して頑健か? どのモデルがカテゴライズされた特徴をうまく扱うか?
第二に、このプロジェクトでは、モデルをすばやくプロトタイプ化するという貴重なスキルを学ぶことができます。
最後に、この演習では、モデル構築のワークフローを習得することができます。 例えば…
- データのインポート
- データのクリーニング
- トレーニング/テストまたはクロスバリデーションセットに分割
- 前処理
- 変換
- 特徴エンジニアリング
すぐに使えるモデルを使用するため、モデル構築に集中することができます。
その場ですぐに使えるモデルを使用するので、これらの重要なステップを磨くことに集中することができます。
手順については、sklearn(Python)またはcaret(R)のドキュメントページをご覧ください。 回帰、分類、クラスタリングのアルゴリズムを練習する必要があります。
チュートリアル
- Python: sklearn – sklearnパッケージの公式チュートリアル
- Predicting wine quality with Scikit-Learn – 機械学習モデルをトレーニングするためのステップバイステップのチュートリアル
- R: caret – caretパッケージの作者によるウェビナー
Data Sources
- UCI Machine Learning Repository – 350以上の検索可能なデータセットで、ほぼすべてのテーマに対応しています。
- Kaggle Datasets – Kaggleコミュニティによってアップロードされた100以上のデータセット。 PokemonGoのスポーンロケーションやサンディエゴのブリトーなど、とても楽しいデータセットがあります。
- data.gov – 米国政府が公開しているオープンデータセットです。
Play Money Ball
書籍「マネーボール」では、オークランドA’sが分析的な選手スカウティングによって野球に革命をもたらしました。
まず、まだこの本を読んでいない方は、ぜひ読んでみてください。
幸いなことに、スポーツの世界には遊ぶためのデータが大量にあります。
初心者向けの楽しい機械学習プロジェクトがたくさんあります。
- スポーツベッティング…新しい試合の直前に利用可能なデータを使って、ボックススコアを予測する。
- 一般的な管理…総合的なチームを構築するために、選手の強みに基づいてクラスターを作成する。
スポーツは、データの可視化や探索的分析を実践するのに最適な領域でもあります。
Data Sources
- Sports Statistics Database – 多くのプロスポーツといくつかの大学スポーツをカバーするスポーツ統計と履歴データ。 きれいなインターフェイスなので、ウェブスクレイピングがしやすいです。
- Sports Reference – スポーツ統計の別のデータベースです。
- cricsheet.org – クリケットの国際試合とIPL試合のボールバイボールデータ。
Predict Stock Prices
株式市場は、金融に少しでも興味のあるデータサイエンティストにとっては、まるでお菓子の国のようです。
まず、選択できるデータの種類が多いことです。 価格、ファンダメンタルズ、グローバルなマクロ経済指標、ボラティリティー・インデックスなど、数え上げればきりがありません。
第二に、データは非常に細かいものです。
最後に、金融市場は一般的に短いフィードバックサイクルを持っています。
初心者向けの機械学習プロジェクトの例としては…
- 定量的バリュー投資…企業の四半期報告書から基本的な指標に基づいて6ヶ月間の価格変動を予測する。
- 予測…インプライド・ボラティリティと実際のボラティリティの間のデルタに基づいて時系列モデル、あるいはリカレント・ニューラル・ネットワークを構築する
- 統計的アービトラージ…価格の動きやその他の要因に基づいて類似した銘柄を見つけ、価格が乖離する期間を探す
明らかな免責事項:機械学習を実践するために取引モデルを構築するのは簡単です。 それを利益につなげることは非常に困難です。
Tutorials
- Python: sklearn for Investing – 機械学習を投資に応用するためのYouTubeビデオシリーズ
- R: Quantitative Trading with R – Rを使ったクオンティタティブファイナンスの詳細なクラスノート。
Data Sources
- Quandl – 無料(およびプレミアム)の金融・経済データを提供するデータマーケット。
- Quantopian – クオンティタティブファイナンスのコミュニティで、トレーディングアルゴリズムを開発するためのプラットフォームを無料で提供しています。
- US Fundamentals Archive – 5000社以上の米国企業の5年間のファンダメンタルズデータ。
Teach a Neural Network to Read Handwriting
ニューラルネットワークとディープラーニングは、現代の人工知能における2つのサクセスストーリーです。
このエキサイティングな分野に参加するには、管理可能なデータセットから始める必要があります。
MNIST Handwritten Digit Classification Challenge (MNIST 手書き数字分類チャレンジ)は、典型的なエントリー ポイントです。 画像データは一般的に、「フラット」なリレーショナル データよりも扱いにくいものです。
手書き文字の認識は難しいですが、高い計算能力は必要ありません。
まず、以下のチュートリアルの最初の章から始めることをお勧めします。
チュートリアル
- Neural Networks and Deep Learning (Online Book) – 第1章では、MNISTの数字を分類するためのニューラルネットワークをPythonで一から作る方法を説明しています。
データソース
- MNIST – MNISTは、米国国立標準技術研究所が収集した2つのデータセットを修正したサブセットです。
Investigate Enron
Enron のスキャンダルと崩壊は、史上最大の企業崩壊の 1 つでした。
2000 年当時、Enron はアメリカ最大のエネルギー企業の 1 つでした。
2000年当時、エンロンはアメリカ最大のエネルギー企業でしたが、不正行為が発覚してからは、1年も経たないうちに破綻するというスパイラルに陥りました。 このデータベースには、150人の元エンロン社員、主に上級幹部の間で交わされた50万通の電子メールが含まれています。
実際、データサイエンティストたちは何年も前からこのデータセットを教育や研究に利用しています。
初心者向けの機械学習プロジェクトの例としては、以下のようなものがあります。
- 異常検知…時間ごとに送受信されたメールの分布をマッピングし、公的スキャンダルに至るまでの異常な行動を検知しようとする。
- ソーシャルネットワーク分析…従業員間のネットワークグラフモデルを構築し、重要な影響力を持つ人物を見つける。
- 自然言語処理…電子メールのメタデータと組み合わせて本文メッセージを分析し、目的に基づいて電子メールを分類する。
データ ソース
- Enron Email Dataset – CMU がホストしている Enron の電子メール アーカイブです。
- Description of Enron Data (PDF) – Enron の電子メール データの探索的な分析です。
Write ML Algorithms from Scratch
機械学習アルゴリズムをゼロから書くことは、主に 2 つの理由から優れた学習ツールです。
2つ目は、数学的な命令を動作するコードに変換する方法を学べることです。
まず、あまり複雑ではないアルゴリズムを選ぶことをお勧めします。
簡単なアルゴリズムの構築に慣れてきたら、それを拡張して機能を増やしてみましょう。
最後に、初心者の方に知っておいていただきたいことがあります。 自分のアルゴリズムが、既存のパッケージにあるものほど速くなくても、派手でなくても、落胆しないでください。 それらのパッケージは何年もの開発の成果なのです!
チュートリアル
- Python:
- Python: Logistic Regression from Scratch
- Python: k-Nearest Neighbors from Scratch
- R: Logistic Regression from Scratch
Mine Social Media Sentiment
ソーシャルメディアは、ユーザーが作成した膨大な量のコンテンツがあるため、「ビッグデータ」とほぼ同義語になっています。
この豊富なデータを分析することで、意見やトレンド、世論の動向を把握するためのこれまでにない方法を証明することができます。 Facebook、Twitter、YouTube、WeChat、WhatsApp、Redditなど、数え上げればきりがありません。
さらに、すべての世代が、前世代よりもさらに多くの時間をソーシャルメディア上で過ごしています。
世の中には多くの人気ソーシャルメディアプラットフォームがありますが、Twitterは機械学習を実践するための典型的な入り口です。
Twitterのデータには、データ(ツイートの内容)とメタデータ(場所、ハッシュタグ、ユーザー、リツイートなど)の興味深い組み合わせが含まれており、分析のための無限の可能性を秘めています。
チュートリアル
- Python:
- Python: Mining Twitter Data – Twitterデータでセンチメント分析を行う方法
- R: Sentiment analysis with machine learning – Short and sweet sentiment analysis tutorial
Data Sources
- Twitter API – Twitter APIはストリーミングデータの代表的なソースです。
- StockTwits API – StockTwitsはトレーダーや投資家のためのTwitterのようなものです。
Improve Health Care
機械学習のおかげで急速な変化を遂げているもう1つの業界が、グローバルヘルスとヘルスケアです。
ほとんどの国では、医師になるには長年の教育が必要です。
多くの国では、医師になるためには長年の教育が必要であり、長時間労働、高額な賞金、さらには参入障壁の高い厳しい分野です。
そのため、最近では機械学習の助けを借りて、医師の仕事の負担を軽減し、医療システム全体の効率を向上させる取り組みが盛んに行われています。
使用例としては、以下のようなものがあります。
- 予防医療…個人や地域レベルでの病気の発生を予測する。
- 診断医療…スキャンやX線などの画像データを自動的に分類する。
- 保険…一般に公開されているリスク要因に基づいて保険料を調整する
病院が患者記録の近代化を進め、私たちがより詳細な健康データを収集するにつれて、データサイエンティストが成果を上げるチャンスが次々と生まれてくるでしょう。
チュートリアル
- R: Building meaningful machine learning models for disease prediction
- Machine Learning in Health Care – Excellent presentation by Microsoft Research