‫お帰りなさい｡
‫そして､ 最後のビデオでは､ モデルのハイパーパラメータを手作業で調整する方法を確認しました｡
‫そして､ コードを書き終えてから､ データを手動でトレーニングセットとテストセットに分割することがわかりました｡
‫評価関数を作りました｡
‫そうですね｡
‫そして最後には､ チューニングをすべて手作業で行うことを実現しました｡
‫それは大変そうですね｡
‫そして､ あなたの言うとおりです｡
‫それは､ さまざまなパラメータを一通り試した場合です｡
‫しかし､ 幸いにも開発者のサイキックローンもこの問題に遭遇し､ Randomized Search Cross Validationの略であるRandomized
‫Search CVを作り上げたのである｡
‫それでは､ 高いパラメータをどのようにチューニングしていくかを見ていきましょう｡
‫そこでAKAは､ より良い予測をするためにモデルの設定を調整したり､ うまくいけばランダム化検索を使ってより良い予測をすることができます｡
‫CV では､ ここで別の見出しを作成してみましょう｡
‫これは5でもいい｡ 2であるため､ ランダム化探索によるハイパーパラメータチューニング｡
‫v美しいをご覧ください｡
‫まず最初にすることは､ インポートすることです｡
‫そこで､ SRCのlearn dot model selectionからimport randomize nameを選択します｡
‫ここでタブを押すことができるかもしれません｡
‫検索CVをランダム化する｡
‫美しい｡
‫docstringをチェックアウトする前に､ 使い方の例を見てみましょう｡
‫そこで､ ハイパーパラメータのグリッドを作成します｡ グリッドとは､ 辞書のことです｡
‫そして､ ここでグロッドにハイパーパラメータの辞書を打ちました｡
‫調整したいと思います｡
‫ここに戻ってきたら､ これらのパラメータを調整することになります｡
‫そこで､ これから行うのは､ 調整したいパラメータの種類をキーとして､
‫辞書を作成し､ その辞書の値として試したい値を指定することです｡
‫では､ そうしましょう｡
‫だから､ それがキーになると見積もって､ ポジティブリストを取得することになるのです｡
‫だから､ 102百､ 500百､ 1012百｡
‫美しい｡
‫ところで､ ダニエル､ この値はどこから得ているのだ？
‫さて､ いつものように､ どんなモデルや見積もり､ サイキックラインでも､ モデル上で変更できる設定のいくつかを教えてくれる広範な文書があることを忘れないでください｡
‫そこで私は､ このページとサンプルを読み､ いくつかの調査を行い､ 高次のパラメータについてさまざまな値を試してみたのです｡
‫だから､ ここに行ってみてください｡
‫なし｡
‫5つです｡
‫テンです｡
‫もし私がここで値を捨てているように見えても､ 信じてください､ 彼らはただ値を捨てているのではありません｡
‫これらは､ いくつかの研究と経験に基づいています｡
‫というところから始まるわけではないので､ ご安心ください｡
‫そこから始める人はいない｡
‫通していくには､ ちょっとした練習が必要です｡
‫そこで､ モデルをより良くするために､ さまざまな機能を実際に見てみることにしました｡
‫素晴らしい｡
‫そして､ あと2回､ minサンプル分割を行います｡
‫2､ 4､ 6
‫ここに来て｡
‫男性サンプルは残す｡
‫そして､ ランダム検索をどのように実装するか見てみましょう｡
‫CV では､ ランダムシードを設定します｡
‫よくXとYに分かれていますね｡
‫じゃあ､ 心臓病がいいのか？
‫実は､ シャッフルされています｡
‫だって､ 今まで使ってきたものだから｡
‫ドットドロップです｡
‫あ､ 実はここでXを作る必要があるんです｡
‫落とさないように｡
‫ターゲットアクセスは1つに等しく､ 私たちはなぜここに熱い病気がシャッフルされるようにします｡
‫ターゲット
‫美しい｡
‫そして､ トレーニングセットとテストセットに分割して行きます｡
‫え？
‫さて､ ここで気になるのは､ なぜtrainとtestだけを使っているのか､ ということです｡
‫検証セットを作成したところです｡
‫では､ それをご紹介します｡
‫なぜトレーニングなのか？
‫なぜテスト､ トレーニング､ テスト､ スプリットx､ yなのか｡
‫そして､ ここでは通常のスプリットを使用しています｡
‫だから､ テストサイズは0に等しい｡ 2.
‫素晴らしい｡
‫そして､ インスタンス化するのです｡
‫ランダムフォレスト分類器｡
‫セルフはランダムフォレスト分類器､ ジョブはイコールです｡
‫ここでネガをやってもいいのですが､ 今のところネガは私の場合､ 壊れています｡
‫これですぐに理解できるだろう｡
‫しかし､ ジョブズでは､ この機械学習モデルに対して､ コンピュータの処理能力をどれだけ割くつもりなのか？
‫そして､ ネガティブ1は､ そのすべてを意味します｡
‫だから､ デフォルトで終了ジョブズは1つは､ 実際にジョブズのデフォルトは何ですか？
‫ここに行こう｡
‫雇用の終了はゼロに等しい｡
‫さて､ それでは実際にレッスンを設定して､ この一件に決着をつけることにしましょう｡
‫そのため､ エンドジョブに渡す値の違いによって､ コンピュータのプロセッサをどれだけ機械学習モデルに割り当てるかが決まる｡
‫そして､ 分類器をインスタンス化したら､ ランダム化を設定します｡
‫検索してください｡
‫だから､ パスするんです｡
‫RS Clefと呼ぶことにします｡
‫つまり､ ランダム化検索とランダム化検索のためにRSを追加しているだけなのです｡
‫CV 最初のパラメータは､ estimator equals clef です｡
‫そこで､ このランダムフォレスト分類器を渡します｡
‫次は､ パラメータ分布のインスタンス化です｡
‫グリッドに配る予定です｡
‫ここがグリッドになっているんですね｡
‫そして次に､ ETAを定義するのですが､ これは10に相当します｡
‫そして､ これがモデル数です｡
‫試してみること｡
‫5倍のクロスバリデーションを行い､ 冗長性を設定することにします｡
‫両ワシのために｡
‫おっと
‫これは今まで見たことのないコードです｡
‫では､ ランダム化検索を実行すると何が起こるのだろうか｡
‫CVは､ docstringを見ます｡
‫ここでシフトタブを押す｡
‫それは､ 輸入品があるからです｡
‫そうなんです｡
‫ここでシフトタブを押します｡
‫では､ ここでのdocstringは何でしょうか？
‫ハイパーパラメータのランダム化探索
‫無作為抽出の検索｡
‫CVはフィット方式とスコア方式を実装しています｡
‫また､ predict､ predict､ probate決定関数変換､ 逆変換は､ 使用する推定値に実装されていれば､
‫実装されています｡
‫そこで､ ハイパーパラメータでランダム検索を行う｡
‫うーん｡
‫ちょっとわかりにくいかもしれませんね｡
‫ランダム検索されたとはどういう意味ですか？
‫だから
‫それはランダム検索CVという名前にあります｡
‫CVはクロスバリデーションのことで､ このパラメータを認識することができるかもしれません｡
‫車両5を参照｡
‫つまり､ 5倍のクロスバリデーションを用いているということです｡
‫だから5重クロスバリデーション｡
‫そのため､ ここでは必ずしもバリデーションセットを作成する必要はないのです｡
‫つまり, ランダム化探索は分類器を利用することになります．
‫そして､ パラメータ分布のグリッドはこのようになっていて､ このグリッドの上を検索します｡
‫410回の異なる時間､ これらのパラメーターの異なる組み合わせがランダムに行われます｡
‫例えば､ 最初の反復で､ ニダ・イコール・テンだから､ 最初の反復でこれを10回やるわけです｡
‫10個の推定量､ 最大深度9個､ 最小サンプル数2個､ 最小サンプル数1個､ リーフ数1個のモデルを試行し､
‫次の反復を行うことができる｡
‫つまり､ 10回のうち2回目は､ 最大深度が自動で､ 最大特徴量が4で､ 最小サンプル分割が4で､ 最小サンプル削除が4なので､
‫1000個の推定量を試すことになります｡
‫そして､ それが10まで続くのです｡
‫あとはこれを100から1000に設定すればいい｡
‫この中に1000通りの組み合わせがあるとは思えません｡
‫スルーすれば6×5で行けるのに｡
‫30回×2回ですね｡
‫これは60×3の数字です｡
‫これは180×3の数字です｡
‫460おかしいな｡
‫計算が少しずれるかもしれませんが､ 要点はわかってもらえましたか？
‫これを全部調べて､ いちいち組み合わせようとすると､ それこそ何種類ものモデルが出てきます｡
‫では､ 実際に見てみましょう｡
‫そこで､ ランダム化探索CVのインスタンス化を設定したら､ ここにランダム化探索CV版のselfをはめ込みに行くことにします｡
‫Rの自己はx列車をy列車に合わせないようにお願いします｡
‫さて､ x訓練とy訓練だけをあてはめる理由は､ CVとランダム化探索 CVはクロスバリデーションの略だからです｡
‫ということになるわけです｡
‫検証セットを自動的に作ってくれるのですから､ これは素晴らしいことです｡
‫この図に戻ると､ データを取り込んで､ さまざまなハイパーパラメーター設定でのクロス検証を行うことになるわけです｡
‫それが返ってくるわけです｡
‫この高いパラメーターの中から､ どの組み合わせがベストなのか､ 最大10種類のモデルを割り出すのです｡
‫また､ もっといろいろな組み合わせを試したければ､ これを増やすことも可能です｡
‫では､ 実際に見てみましょう｡
‫ここでは､ 冗長性を設定して､ 何が起こっているかを出力するようにしています｡ 10個の候補に対してそれぞれ5回ずつ､
‫合計50回のフィッティングを行いました｡
‫A. K. A. このグリッドで異なるパラメータの組み合わせを10回繰り返し､
‫それぞれの組み合わせを5回分割して､ 5台合計で50回の適合をデータ上で確認します｡
‫つまり､ このフィット関数は､ データの分割ごとに異なるハイパーパラメータを使って50回実行されることになります｡
‫最初の分割は､ 1200に等しい推定値で行われます｡
‫また､ 分割や反復のたびに､ これらの組み合わせがランダムに選ばれることを覚えておいてください｡
‫また､ min sample splitを6年min samples leafを2つmax features the square root､ max
‫depthを5 OCに設定しました｡
‫そして､ ここをスクロールすると､ 試したさまざまな組み合わせを見ることができます｡
‫では､ ランダムに1つ選んでみましょう｡
‫こちらはこちらで｡
‫だから､ この組み合わせはイコールとして試算しているのです｡
‫200人分のサンプルの分割は6人分､ 最小サンプルの葉は2人分､ 最大フィーチャーは平方根､ 最大深度はなし｡
‫そうすると､ 完成するまでずっと続くんです｡
‫ここで警告を発してくれるんです｡
‫では､ 見てみましょう｡
‫完成したら､ その上で最高のパラメータを呼び出すことができるようになります｡
‫rs seal clf best paramsを実行すると､ ハイパーパラメータの組み合わせが表示され､ どの組み合わせが最も良い結果になったかがわかります｡
‫素晴らしい｡
‫つまり､ 推定値は､ 200分のサンプル分割､ 6分のサンプルリーフ､ 2つの最大特徴量､ 平方根､
‫最大深度､ なし､ に等しくなります｡
‫10種類のモデルでクロスバリデーションした結果､ 最も良い結果が得られた｡
‫そして､ ランダムサーチクラシファイアでpredictを呼び出すと､ デフォルトでこれらのパラメータが使用されるようになりました｡
‫そこで､ これらを手作業で探すのではなく､ ランダム検索CVが見つけてくれたのです｡
‫では､ やってみましょう｡
‫最適なハイパーパラメーターで予測しよう｡
‫それは､ 私たちがするかもしれないことです｡
‫RS Yプレッズ・イーグルス
‫RCレフトは予測し､ 私たちは使用します｡
‫ここでは検証セットを使うこともできますが､ 今回はテストセットを使って､
‫予測値を評価していきます｡
‫RS行列は評価することに等しい｡
‫なぜテストするのか？
‫RS なぜプリンスなのか？
‫さて､ 今の機能はプリンスを評価することになっています｡
‫これでよしとしよう｡
‫素晴らしい｡
‫だから､ ここに戻ってくれば｡
‫ここは改善されたのでしょうか？
‫いいえ､ そうではありません｡
‫そこで､ ハイパーパラメーターのチューニングという実験が行われるわけです｡
‫このようなことを実行しても､ 必ず改善されるとは限りません｡
‫もっと長く走らせて､ 50通りの組み合わせを試すのもいいかもしれませんね｡
‫そして､ 50通りの組み合わせを試した結果､ 最終的に手動で調整した結果よりも良いパラメータを見つけることができるのです｡
‫しかし､ このように様々な設定を手作業で行うよりも､ ランダム化探索KVを使うことで､
‫ハイパーパラメータのチューニングを体系化し､ 機能させることができることがおわかりいただけたかと思います｡
‫そして､ もう一つ､ モデルのハイパーパラメータを改善する方法があります｡ それはグリッドサーチです｡
‫KV ランダム検索と似ていますが､ ひとつだけ重要な違いがあります｡
‫その様子は､ 次の動画でご紹介します｡