Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Random Forest による分類

8.834 Aufrufe

Veröffentlicht am

決定木は知っているけど、Random Forestって何?という人のためのRandom Forest入門スライドです。

Veröffentlicht in: Daten & Analysen
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating direct: ❤❤❤ http://bit.ly/39pMlLF ❤❤❤
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating for everyone is here: ❶❶❶ http://bit.ly/39pMlLF ❶❶❶
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Random Forest による分類

  1. 1. Random Forest for Classification 2016/2/24 Ken'ichi Matsui
  2. 2. 決定木 Random Forest 特徴 • 分枝とノードのコストを鑑み て剪定を行う • 剪定しない • データからサンプリングを行い データを増やして学習する。 • 各ノードで分割を行う際、ラン ダムに特徴量を選択する メリット • 分割基準が目に見えてわかり やすいのでそこから知見も得 られる • 比較的早い • 予測精度が高い • ランダム性を取り入れ分散を小 さく抑えられている デメリット • 分散が大きくなりがち • 複数の木を使って構成されるの で、分割基準は非常に見えずら い • 比較的遅い 決定木とRandom Forestの比較
  3. 3. … 特徴量: d次元 特徴量: d次元 特徴量: d次元 特徴量: d次元 特徴量: d次元 データ数: N個 データ数: N個 ⇒ ただし、訓練データから重複ありでランダムサンプリングしたもの ブートストラップ サンプル 1 ブートストラップ サンプル 2 ブートストラップ サンプル 3 ブートストラップ サンプル M 重複ありランダムサンプリング ブートストラップサンプル数: M個 訓練データ ブートストラップ法
  4. 4. … … 特徴量: d次元 ブートストラップ サンプル 1 特徴量: d次元 ブートストラップ サンプル 2 特徴量: d次元 ブートストラップ サンプル 3 特徴量: d次元 ブートストラップ サンプル M ブートストラップサンプル数: M個 N個 弱学習器1 弱学習器2 弱学習器3 弱学習器 M Random Forest 木の深さ
  5. 5. 木の深さ … 特徴量: d次元 ブートストラップ サンプル 1 特徴量: d次元 ブートストラップ サンプル 2 特徴量: d次元 ブートストラップ サンプル 3 特徴量: d次元 ブートストラップ サンプル M ブートストラップサンプル数: M個 N個 Random Forest … 弱学習器1 弱学習器2 弱学習器3 弱学習器 M (決定)木がたくさん集まっているので森!
  6. 6. Yes No 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 このノードは ピンクのエリア このノードは ブルーのエリア 弱学習器の各ノードにおける分割 (2次元の場合) 分割前の状態 ※ 簡単化のため特徴量選択を していないとする
  7. 7. 取りうる分割 (2次元の例) この赤い線が不純度を一番下げる分割
  8. 8. axis value ratio_l gini_l ratio_r gini_r ave gini gini x 1.8 0.111 0.000 0.889 0.469 0.417 x 2.45 0.222 0.000 0.778 0.408 0.317 x 3.0 0.333 0.000 0.667 0.278 0.185 x 4.2 0.444 0.375 0.556 0.320 0.344 x 5.75 0.556 0.480 0.444 0.375 0.433 x 6.8 0.667 0.444 0.333 0.000 0.296 x 7.9 0.778 0.490 0.222 0.000 0.381 x 8.85 0.889 0.500 0.111 0.000 0.444 y 1.05 0.111 0.000 0.889 0.469 0.417 y 1.85 0.222 0.500 0.778 0.490 0.492 y 2.6 0.333 0.444 0.667 0.444 0.444 y 3.6 0.444 0.375 0.556 0.320 0.344 y 4.8 0.556 0.480 0.444 0.375 0.433 y 5.95 0.667 0.500 0.333 0.444 0.481 y 6.65 0.778 0.490 0.222 0.000 0.381 y 7.5 0.889 0.500 0.111 0.000 0.444 取りうる分割 (2次元の例) 不純度の計算(gini係数)
  9. 9. ブートストラップサンプル数: M個 … … 特徴量: d次元 ブートストラップ サンプル 1 特徴量: d次元 ブートストラップ サンプル 2 特徴量: d次元 ブートストラップ サンプル 3 特徴量: d次元 ブートストラップ サンプル MN個 データの特徴量はd次元なので各弱学 習器の各ノード分割時に、d次元から d’個サンプリングしたデータから 最良の分割点を探し出して分割する。 ( がよく使われる) Random Forestの特徴量選択
  10. 10. ブートストラップサンプル数: M個 … … 特徴量: d次元 ブートストラップ サンプル 1 特徴量: d次元 ブートストラップ サンプル 2 特徴量: d次元 ブートストラップ サンプル 3 特徴量: d次元 ブートストラップ サンプル MN個 Random Forestの特徴量選択 ⇒ ランダムフォレストの ランダムと言われる所以 データの特徴量はd次元なので各弱学 習器の各ノード分割時に、d次元から d’個サンプリングしたデータから 最良の分割点を探し出して分割する。 ( がよく使われる)
  11. 11. … 弱学習器1 弱学習器2 弱学習器3 弱学習器 M Random Forest (Classification) インプット 「Bだ!」 「Aだ!」 「Bだ!」 「Bだ!」 ⇒ 多数決により”B”に決定。
  12. 12. ブートストラップで作成する木の数 ノード分割時の不純度の計算種別 http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html 特徴量抽出の最大値設定
  13. 13. http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html 木の深さの最大値設定 ノード分割時の分割先の最小データ数 終端ノードの最小データ数 最大終端ノード数 ブートストラップサンプリング実行要否 終端ノードにおける最小分割比
  14. 14. http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html 木の構築時の詳細情報表示設定 fitした時に前回のモデルを再利用する 各クラスにウェイトをかける ブートストラップ、特徴量抽出の乱数シード設定 並列処理数の設定 out-of-bagサンプルを評価に使うか否か
  15. 15. Scikit-LearnとMNISTで試すRandom Forest https://github.com/matsuken92/Qiita_Contents/blob/master/General/Decision_tree.ipynb # Random Forestによるモデル構築 clf = RandomForestClassifier(n_estimators=50, criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, bootstrap=True, oob_score=False, n_jobs=2, random_state=None, verbose=0, warm_start=False, class_weight=None) clf = clf.fit(x_train, y_train) # 訓練データでの精度確認 print "train" confirm_result(clf, x_train, y_train) classification report precision recall f1-score support 0 1.00 1.00 1.00 5923 1 1.00 1.00 1.00 6742 2 1.00 1.00 1.00 5958 3 1.00 1.00 1.00 6131 4 1.00 1.00 1.00 5842 5 1.00 1.00 1.00 5421 6 1.00 1.00 1.00 5918 7 1.00 1.00 1.00 6265 8 1.00 1.00 1.00 5851 9 1.00 1.00 1.00 5949 avg / total 1.00 1.00 1.00 60000 accuracy 0.999983333333 MNIST (手書き数字データ) コードの全文はココ↓
  16. 16. https://github.com/matsuken92/Qiita_Contents/blob/master/General/Decision_tree.ipynb # 検証データでの精度確認 print "test" confirm_result(clf, x_test, y_test) test confusion matrix [[ 969 0 2 0 0 2 3 1 3 0] [ 0 1122 3 3 1 1 2 0 3 0] [ 5 0 999 6 2 0 4 9 7 0] [ 1 0 10 973 0 7 0 8 8 3] [ 1 0 1 0 947 0 7 0 4 22] [ 4 2 1 14 3 854 5 1 7 1] [ 6 3 1 0 3 5 936 0 4 0] [ 1 3 20 2 3 0 0 989 3 7] [ 5 0 5 8 5 7 4 4 929 7] [ 7 6 3 12 15 3 1 5 4 953]] classification report precision recall f1-score support 0 0.97 0.99 0.98 980 1 0.99 0.99 0.99 1135 2 0.96 0.97 0.96 1032 3 0.96 0.96 0.96 1010 4 0.97 0.96 0.97 982 5 0.97 0.96 0.96 892 6 0.97 0.98 0.97 958 7 0.97 0.96 0.97 1028 8 0.96 0.95 0.95 974 9 0.96 0.94 0.95 1009 avg / total 0.97 0.97 0.97 10000 accuracy 0.9671 Scikit-LearnとMNISTで試すRandom Forest
  17. 17. 拡大 MNIST学習時のRandom Forest 弱学習器の一部 拡大
  18. 18. Random Forestの類似度の算出とMDSによる2次元可視化 元データ(iris)のプロット データ類似度のプロット ※ 類似度の計算はRじゃないとできませんでした・・・ require(rfPermute) data(iris) iris.rf <- randomForest(Species ~ ., data = iris, importance = TRUE, proximity = TRUE) iris.rf proximity.plot(iris.rf, legend.loc = "topleft") http://www.inside-r.org/packages/cran/rfPermute/docs/proximity.plot
  19. 19. 参考 • “Intuition of Random Forest” https://stat.ethz.ch/education/semesters/ss2012/ams/slides/v10.2.pdf • Scikit-Learn RandomForestClassifier http://scikit- learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.ht ml • 「初めてのパターン認識」平井 有三 (著) http://www.amazon.co.jp/dp/4627849710 • 本スライドで使ったPythonコード https://github.com/matsuken92/Qiita_Contents/blob/master/General/Decision_tree .ipynb

×