scikit-learn による機械学習の概要
このビデオ シリーズでは、Python の人気のある scikit-learn ライブラリを使用して機械学習の問題を解決する方法を説明します。合計 4.5 時間の10 のビデオ チュートリアルがあり、それぞれに対応するJupyter ノートブックが付いています。
YouTube でシリーズ全体を視聴したり、nbviewer を使用してすべてのノートブックを表示したりできます。
このシリーズは、更新されたコンテンツ、クイズ、修了証明書を含む無料のオンライン コースとしても利用できます。
注:このリポジトリのノートブックは、Python 3.9.1 および scikit-learn 0.23.2 を使用するように更新されています。元のノートブック (ビデオで示されている) は Python 2.7 と scikit-learn 0.16 を使用しており、アーカイブ ブランチからダウンロードできます。コードを更新した方法については、このブログ投稿をご覧ください。
目次
機械学習とは何ですか?また、どのように機能するのでしょうか? (ビデオ、ノート)
- 機械学習とは何ですか?
- 機械学習の 2 つの主要なカテゴリは何ですか?
- 機械学習の例にはどのようなものがありますか?
- 機械学習はどのように「機能」するのでしょうか?
機械学習用の Python のセットアップ: scikit-learn と Jupyter Notebook (ビデオ、ノートブック)
- scikit-learn の長所と短所は何ですか?
- scikit-learn をインストールするにはどうすればよいですか?
- Jupyter Notebook を使用するにはどうすればよいですか?
- Python を学習するのに適したリソースは何ですか?
有名な iris データセットを使用して scikit-learn を始める (ビデオ、ノートブック)
- 有名なアイリス データセットとは何ですか? それは機械学習とどのように関連していますか?
- iris データセットを scikit-learn にロードするにはどうすればよいでしょうか?
- 機械学習の用語を使用してデータセットを説明するにはどうすればよいでしょうか?
- データを扱うための scikit-learn の 4 つの主要な要件は何ですか?
scikit-learn を使用した機械学習モデルのトレーニング (ビデオ、ノートブック)
- K 最近傍分類モデルとは何ですか?
- scikit-learn でのモデルのトレーニングと予測の 4 つのステップは何ですか?
- このパターンを他の機械学習モデルに適用するにはどうすればよいですか?
scikit-learn での機械学習モデルの比較 (ビデオ、ノートブック)
- 教師あり学習タスクに使用するモデルを選択するにはどうすればよいですか?
- そのモデルに最適なチューニング パラメーターを選択するにはどうすればよいですか?
- サンプル外データに対するモデルの予想されるパフォーマンスを推定するにはどうすればよいですか?
データ サイエンス パイプライン: pandas、seaborn、scikit-learn (ビデオ、ノートブック)
- pandas ライブラリを使用して Python にデータを読み取るにはどうすればよいですか?
- seaborn ライブラリを使用してデータを視覚化するにはどうすればよいですか?
- 線形回帰とは何ですか?またその仕組みは何ですか?
- scikit-learn で線形回帰モデルをトレーニングして解釈するにはどうすればよいですか?
- 回帰問題の評価指標にはどのようなものがありますか?
- モデルに含める機能を選択するにはどうすればよいですか?
パラメーター調整、モデル選択、機能選択の相互検証 (ビデオ、ノートブック)
- モデルの評価にトレーニングとテストの分割手順を使用する場合の欠点は何ですか?
- K 分割相互検証はこの制限をどのように克服するのでしょうか?
- 相互検証は、調整パラメーターの選択、モデル間の選択、機能の選択にどのように使用できますか?
- 相互検証にはどのような改善が考えられますか?
最適なチューニングパラメータを効率的に検索(ビデオ、ノートブック)
- K 分割相互検証をどのように使用して、最適な調整パラメーターを検索できるでしょうか?
- このプロセスをより効率的にするにはどうすればよいでしょうか?
- 複数のチューニングパラメータを一度に検索するにはどうすればよいですか?
- 実際の予測を行う前に、これらの調整パラメータをどうしますか?
- このプロセスの計算コストを削減するにはどうすればよいでしょうか?
分類モデルの評価 (ビデオ、ノート)
- モデル評価の目的は何ですか?また、一般的な評価手順にはどのようなものがありますか?
- 分類精度はどのように使用されますか?また、その制限は何ですか?
- 混同行列は分類器のパフォーマンスをどのように説明しますか?
- 混同行列から計算できる指標は何ですか?
- 分類しきい値を変更して分類器のパフォーマンスを調整するにはどうすればよいですか?
- ROC 曲線の目的は何ですか?
- 曲線下面積 (AUC) は分類精度とどのように異なりますか?
機械学習ワークフローの構築 (ビデオ、ノートブック)
- なぜパイプラインを使用する必要があるのでしょうか?
- OneHotEncoder を使用してカテゴリ特徴をエンコードするにはどうすればよいですか?
- ColumnTransformer を使用して選択した列に OneHotEncoder を適用するにはどうすればよいですか?
- パイプラインを構築して相互検証するにはどうすればよいですか?
- パイプラインを使用して新しいデータを予測するにはどうすればよいですか?
- 前処理に (pandas ではなく) scikit-learn を使用する必要があるのはなぜですか?
ボーナスビデオ
PyCon 2016 カンファレンスで、私はこのビデオ シリーズに基づいてテキストベースのデータに焦点を当てた3 時間のチュートリアルを教えました。 YouTube でチュートリアル ビデオをご覧いただけます。
私が取り上げたトピックは次のとおりです。
- scikit-learn でのモデル構築 (復習)
- テキストを数値データとして表現する
- テキストベースのデータセットをパンダに読み取る
- データセットのベクトル化
- モデルの構築と評価
- モデルの比較
- モデルを調べてさらなる洞察を得る
- このワークフローを別のデータセットで実践する
- ベクタライザーのチューニング (ディスカッション)
この GitHub リポジトリにアクセスして、チュートリアル ノートブックやその他の多くの推奨リソースにアクセスしてください。