Pythonで機械学習:scikit-learnで学ぶ識別入門
4.3 (829 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,408 students enrolled

Pythonで機械学習:scikit-learnで学ぶ識別入門

pythonの機械学習ライブラリscikit-learnを使って,識別の基本を徹底的にマスターしよう!
4.3 (829 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
7,408 students enrolled
Created by Toru Tamaki
Last updated 2/2019
Japanese
Current price: $11.99 Original price: $124.99 Discount: 90% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 9 hours on-demand video
  • 4 articles
  • 14 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • 機械学習の識別(分類・パターン認識)が何かが分かります
  • Pythonとjupyter notebookが使えるようになります.

  • Pythonの機械学習ライブラリscikit-learnを使えるようになります

  • 学習データとテストデータを準備する
  • データの前処理をする
  • 学習データで識別器を学習する
  • 交差確認(cross validation)やleave-one-outなどを使う
  • 識別器でテストデータを識別する
  • 識別結果を評価する
  • 過学習とは何かを知る
  • 2クラス分類と多クラス分類の違いを知る
  • k最近傍識別器(k-NN)を使う
  • サポートベクターマシン(SVM)を使う
  • ロジスティック回帰を使う
  • 多層ニューラルネットワーク(多層パーセプトロン)を使う
  • パーセプトロンを使う
Requirements
  • pythonプログラミングの初歩的な知識
  • jupyter notebook のプログラミング環境が構築できるスキル
Description

このコースでは,機械学習における識別(分類・認識)の基礎をPythonを用いて学びます.このコースの目標は,機械学習でデータを識別するための一連の流れ(データの準備・前処理・識別器・評価など)を理解することです.Pythonの機械学習ライブラリscikit-learnとインタラクティブなプログラミング環境jupyter notebook (ipython notebook)を使って,実際にpythonコードを実行しながら学びます.

レクチャーでは,notebook上で実行するpythonコードとその内容を説明します.pythonコードのnotebookはダウンロードできますので,レクチャーを見ながら・見た後で実際に実行することをおすすめします.自分なりに改変・修正すると,さらに理解が高まるでしょう.

機械学習を理解するためには数学が必要になるのですが,このレクチャーでは(ほとんど)数式を使わず,コードを実行して結果を議論することで,機械学習のコンセプトを伝えるようにしています.理論的なことを知りたい場合には,他の資料を参考にしてください.

プログラミングの注意:pythonやその他の言語でのプログラミング経験があることを前提にしていますので,python自体の説明は省略しています.


レクチャーで使用しているnotebookはダウンロードできます.「レクチャー用のnotebookのダウンロードはこちら(ソースコードはここにあります)」というレクチャーを参照してください.

Who this course is for:
  • 機械学習という言葉は知っているが,中身を知らない人
  • プログラミングが嫌いではない人(Pythonプログラミングをします)
  • Pythonプログラミング環境を用意できる人
  • 具体的に機械学習を適用したいデータがある人
Course content
Expand all 119 lectures 09:12:43
+ 機械学習とは
7 lectures 11:48

レクチャーではscikit-learnを用いて識別を説明していきます.scikit-learnには多数のチュートリアルがありますので,参考にしてください.

Preview 01:34
識別とは
02:54
識別の流れ
01:02
ラベルについて
02:31
回帰とは(ここでは扱わない)
01:24
教師あり,教師なし,半教師あり
01:28
ディープラーニング(深層学習)とは
00:55
+ Jupyter notebookの設定(Pythonプログラミングの環境設定)
18 lectures 45:34
環境設定について
00:00
macOS:ダウンロードとインストール
01:27
macOS:起動と終了
04:15
macOS:アップデート
03:13
macOS:ターミナルでの操作
03:21
linux:ダウンロードとインストール
01:42
linux:起動と終了
02:11
linux:アップデート
01:49
linux:ダウングレード
01:26
linux:GUIのAnaconda navigator
01:35
linux:anacondaを使わずaptとpipでインストールするなら
04:28
オプション:dockerを使うなら
00:50
オプション:どうしてもクラウドというならSageMathCloud
06:31
+ 最初の例題:学習から識別まで
8 lectures 40:28

レクチャーで説明しているjupyter notebookのファイル(*.ipynb)をzipファイルにまとめてあります.これをあらかじめダウンロードして展開し,開けるようにしておいてください.

レクチャーを見る際には,レクチャーと一緒に,自分の環境でnotebookを実行してみてください.

notebookのファイル名は,「セクション番号_ファイル番号」になっています.レクチャータイトルにも同じ番号を付けていますので,どのレクチャーがどのnotebookなのかを確認してください.

2017/6/28追記:新しいファイル「20170628ipynb.zip」を作成しました.こちらをダウンロードしてください.

レクチャー用のnotebookのダウンロードはこちら(ソースコードはここにあります)
00:50
参考ウェブサイト
00:10
+ 学習データとテストデータの準備
7 lectures 40:16

ダウンロードしたMNISTデータセットは,ホームディレクトリ(ホームフォルダ)のscikit_learn_data/ の中にあります.


注意:ダウンロードできない場合には,「おしらせ」に掲載した解決策を試してみてください.

Preview 04:25
Hold-out 2: stratified 04_03
03:59
cross validation, stratified 10-fold CV 04_04
04:58
Leave One Out, Leave-p-out, Leave-one-gruop-out 04_05
06:25
学習データ・検証データとテストデータ 04_06
06:12
+ データから特徴量へ
13 lectures 01:31:15
データから特徴量へ
01:30
欠損値の扱い・データクリーニング 05_01
10:48
特徴抽出:テキストデータと特徴量 05_02
08:03
特徴抽出:画像データと特徴量 05_02
05:04
特徴選択 05_03
13:41
特徴変換:PCA 05_04
10:45
特徴変換:PCAと次元削減 05_04
09:07
特徴変換:非線形(多項式)変換 05_04
09:46
標準化 05_05
07:57
スケーリング 05_05
02:20
正規化 05_05
03:53
PCA白色化 05_05
03:32
ZCA白色化 05_05
04:49
+ テストデータの評価方法
12 lectures 59:11
2クラス問題のconfusion matrix 06_01
05:56
2クラス問題で重要なTP, TN, FP, FN 06_01
03:13
多クラス問題のconfusion matrix 06_01
07:36
PCAで文字認識 06_01
01:01
precisionとrecall 06_02
10:15
f-measure,f値 06_02
05:00
precision, recall, f-measureをいっぺんに 06_02
02:09
多クラス分類のprecisionとrecall 06_02
02:02
ROC AUC 06_03
09:45
ランダムならどうなるROC 06_03
03:37
average precision, AP 06_03
05:16

scikit-learnにはAPを計算するクラスがありますが,2クラス問題用なので,多クラス問題のAPやmAPを計算するにはレクチャーのよう自分でコードを書く必要があります.

多クラス問題のmAP 06_03
03:21
+ いろいろな識別器
30 lectures 02:24:02
2クラス識別と多クラス識別 07_01
03:37
多クラス識別:One-vs-Rest (ロジスティック回帰) 07_01
08:04
多クラス識別:One-vs-Rest (SVM) 07_01
02:33
多クラス識別:One-vs-One (SVM) 07_01
03:54
多クラス識別:ovrとovoの補足 07_01
01:36
kNN:最近傍識別器 (NN),k近傍識別器 (kNN) 07_02
08:01
kNN:KNNの亜種:radius NN 07_02
03:10
kNN:スケーリングしてKNN 07_02
01:43
パーセプトロン 07_03
06:05
パーセプトロン:平面・直線の数式
07:21
パーセプトロン:学習則
06:12
パーセプトロン:損失関数
03:06
パーセプトロン:損失関数をインタラクティブに 07_03
01:48
パーセプトロン:ランダムな動作 07_03
06:31
パーセプトロン:癌データの認識 07_03
03:54
パーセプトロン:まとめ 07_03
01:27
ロジスティック回帰 07_04
07:19
ロジスティック回帰:癌データの認識 07_04
06:38
ロジスティック回帰:2次元データで確率の予測 07_04
03:54
ロジスティック回帰:別の2次元データでも確率を 07_04
01:48
SVM:マージン,サポートベクトル,確率 07_05
05:52
SVM:非線形カーネル(rbf, poly) 07_05
07:28
SVM:癌データの認識 07_05
05:15
MLP:多層パーセプトロン 07_06
07:12
MLP:層を変えてみる 07_06
05:20
MLP:癌データの認識 07_06
04:07
ランダムフォレスト:2次元データの認識 07_07
07:05
ランダムフォレスト:別の2次元データの認識と過学習 07_07
02:11
ランダムフォレスト:癌データの認識 07_07
02:41
+ パラメータ調整
12 lectures 01:02:06
注意:並列計算のn_jobsの指定
00:00
注意:windowsでのグリッドサーチの表示
00:00
グリッドサーチ:1パラメータのロジスティック回帰 08_01
13:51
グリッドサーチ:2パラメータのSVM 08_01
05:17
グリッドサーチ:3パラメータのSVM(linear, rbf) 08_01
05:02
グリッドサーチ:kNN 08_01
01:57
ランダムサーチ:多層パーセプトロン 08_01
05:45
パイプライン:PCAとロジスティック回帰を一緒に 08_02
04:22
パイプライン:スケーリングとSVMを一緒に 08_02
01:33
パイプライン:前処理もグリッドサーチで 08_02
07:10
正則化パラメータC 08_03
11:45
正則化パラメータと過学習 08_03
05:23
+ 学習サンプル数が多いとき
7 lectures 39:29
linear SVM(lib linear) 09-01
10:41
inear SVM(liblinear):primalソルバ 09-01
07:07
linear SVM(liblinear):グリッドサーチ 09-01
04:50
確率勾配法 (SGD) 09-02
04:49
確率勾配法 (SGD):数式の説明 09-02
05:46
確率勾配法 (SGD):グリッドサーチ 09-02
04:04
確率勾配法 (SGD):スモールデータの認識 09-02
02:12
+ 例題
4 lectures 16:24

ダウンロードしたデータセットは,ホームディレクトリ(ホームフォルダ)のscikit_learn_data/ の中にあります.

20カテゴリのテキスト分類:1 10_01
08:31
20カテゴリのテキスト分類:2 10_01
02:10
20カテゴリのテキスト分類:3 10_01
01:00
20カテゴリのテキスト分類:4 10_01
04:43