‫それでは
‫さて､ 機械学習モデルを評価するさまざまな方法を考え出したが､ あなたはそうだろう｡
‫次の質問は､ これらの指標をどのように改善できるかということです｡
‫そしてそれが､ この次の第5節､ モデルの改良で取り上げるものです｡
‫では､ ここで見出しをつけましょう｡
‫モデルを改良しながら､ 5人で行く｡
‫ここで覚えておいていただきたいのは､ 通常､ 実際にはもっと頻繁に､ モデルで行った最初の予測が､ そのモデルの最後の正解になるわけではないということです｡
‫そして､ この最初の予測は､ Let's write this first predictions,
‫equal baseline predictions､ 最初のモデルは､ しばしばbaseline modelと呼ばれる｡
‫最初の予測を行い､ それを評価し､ ベースラインモデルのような最初のモデルを作ったら､ それをさらに改良していくのです｡
‫k. a
‫予測を改善し､ モデルを改良する｡
‫そして今､ それをどうすればいいのか｡
‫まあ､ 大きく分けて2つの方法があるんですけどね｡
‫1つ目は､ データの観点から､ もっとデータを集められないか､ といった質問をします｡
‫なぜなら､ データが多いということは､ 機械学習モデルがそのデータの中のパターンを学習するチャンスが多いということだからだ｡
‫機械学習では､ 一般的にデータが多ければ多いほど良いという言い方があります｡
‫それは､ もしあなたが何かを練習するとしたら､
‫いつもより少し多く練習すれば､ そのことが少し上手になるかもしれないのと似ていますね｡
‫1セッションの練習をすれば
‫機械学習も同じですよね？
‫1,000例ではなく10,000例あれば､ そのデータの中にパターンがあれば､ 機械学習モデルがそれを拾い上げてくれる可能性があります｡
‫そして2つ目は､ データを改善できないか､ ということです｡
‫例えば､ 自動車販売の問題で､ 車種､ 色､ 走行距離､ ドアの数を使って､ 車の販売価格を予測しようとした場合､
‫こうなります｡
‫さて､ その情報が与えられたとして､ その車における売却価格を予測するのはちょっと難しいでしょう｡
‫そうですね｡
‫つまり､ ここで検索するのは､ 各車両についてのより詳細な特徴であり､ 各サンプルについてのより多くの情報を得ることができるかもしれません｡
‫つまり､ 単にサンプル数が多いだけでなく､ 各サンプルに含まれる情報がより深くなっているのです｡
‫そして､ これから注目するのは､ モデルの観点から､ 「もっと良いモデルはないのか」という質問です｡
‫そこで､ circuit learnの機械学習マップを見てみると｡
‫以前､ このような例がありました｡
‫例えば､ リニアSVCでスタートした場合､ 分類の問題でその結果があまり良くないことがわかりました｡
‫そこで､ 今度はアンサンブル分類器を試してみました｡
‫そして今､ 私たちが言いたいのは､ もっといいモデルはないのか､ ということです｡
‫では､ 最初はシンプルなモデルだったとして､ もっと複雑なモデルを使うことはできるのでしょうか？
‫これはどういうことかというと､ 誰かがシンプルなモデルと言ったとき､ 通常あなたがすることは､ ここで最初に出会うモデルは､
‫あなたがここに行き着くモデルに比べて比較的シンプルだということです｡
‫単純なモデルから始める理由は､ 一般的に､ どんな計算能力でもこのモデルの方が速く学習できるからです｡
‫また､ ランダムフォレストなどのアンサンブル分類器やアンサンブルモデル一般は､ 小さなモデルを一度にたくさん学習させるので､
‫一般に複雑だと考えられています｡
‫そこで､ シンプルなモデルと複雑なモデルという言い方がされるわけです｡
‫線形SVCはより単純なモデルと言われることが多いですが､ ここにきてアンサンブル分類器のように､ より複雑なモデルと言われる多くの異なるモデルの力を利用することができるようになりました｡
‫というのは､ もう試したようなものですよね？
‫最初はよりシンプルなモデルから始めて､ ランダムフォレストでより複雑なものに移行しています｡
‫そして､ アンサンブルメソッドaのようなもっと複雑なものに挑戦する場合｡ k. ランダムフォレスト分類器を用いて､
‫現在のモデルを改善できないか？
‫さて､ この場合､ 使用中のモデルが､ ランダムフォレスト分類器のように､ そのままでうまく動作するのであれば､
‫このモデルのハイパーパラメータを改良して､ さらにうまく動作させることはできないでしょうか？
‫ここで少し注意が必要なのは､ 機械学習で見つけたデータのパターンを､ しばしばデータパラメータと呼ぶことです｡
‫そして､ パラメータとハイパーパラメータの違いは､ 機械学習モデルが自らデータのパターンを見つけようとすることである｡
‫つまり､ 機械学習モデルがデータから勝手にパラメータを見つけるのに対して､ ハイパーパラメータはモデル上で調整できる設定なのです｡
‫そこで､ ここにパラメータイコール､ モデルがデータからパターンを見つけ､ ハイパーパラメータが調整可能なモデルの設定に等しいとします｡
‫これは､ パターンを見つける能力を向上させるための試行錯誤なので､
‫括弧で囲みます｡
‫さて､ この1つのセルで､ コードを見る前にかなりの範囲をカバーしましたね｡
‫しかし､ これはこれから数回のビデオで取り上げる内容の枠組みを作るようなものです｡
‫だから､ そこに入れよう｡
‫さて､ ここでちょっと混乱することがあります｡
‫ここに､ ハイパーパラメーターとパラメーターという見出しをつけましょう｡
‫さて､ モデルのハイパーパラメータはどのように求めるのでしょうか？
‫なるほど､ それはいい質問ですね｡
‫調べてみよう｡
‫Skyline Dot Ensemble import random forest classifierから､ Skyline Dot Ensemble import random forest classifierに移行します｡
‫Clef equals はここでランダムフォレスト分類器をインスタンス化します｡
‫ランダムフォレスト分類器｡
‫素晴らしい｡
‫さて､ モデルをインスタンス化したら､ そのモデルに対して関数を呼び出すことで､ ハイパーパラメータを見つけることができます｡
‫パラメータを取得します｡
‫素晴らしい｡
‫さて､ これらはすべて､ ランダムフォレスト分類器で調整可能な異なるハイパーパラメータです｡
‫そして､ もしあなたがこれらを見て､ うわー､ これはここにたくさんある､ 非常にわかりにくいな､ と思ったとします｡
‫それぞれを詳しく知ることができる場所を紹介します｡
‫では､ ランダムフォレスト分類器を学習してみましょう｡
‫素晴らしい｡
‫そこで､ このドキュメントを見ていくと､ ここに出てくるのはパラメータです｡
‫ハイパーパラメーターという言葉を使いましたが､ サイキックラーニングでは､ ハイパーパラメーターはパラメーターと定義されているようなものです｡
‫なぜここでパラメータなのかというと､ Python用語で言うと､ それぞれがこの関数に渡して調整するためのパラメータだからです｡
‫しかし､ 実際にはこれらはハイパーパラメーターです｡
‫そこで､ このリストの登場です｡
‫もし､ これらをすべて読み通すのであれば､ ソケットに来て､ ランダムフォレスト､ 分類されたドキュメントを学び､
‫すべてに目を通し､ それらが一体何であるかを知ることができます｡
‫そして､ ここに降りてくれば､ ランダムフォレスト分類器に関するいくつかの注意点や､ ハイパーパラメータを調整するためのちょっとしたコツなどをすべて学ぶことができます｡
‫あとは､ 他の機種を選んでも同じです｡
‫これらのいずれかをクリックすると､ このドキュメントのようなものが表示され､ モデルや調整可能なハイパーパラメーターが分かります｡
‫なるほど｡
‫さて､ まだハイパーパラメータの概念が理解できていないと思われるかもしれませんね｡
‫そして､ この小さな図に行き着くわけです｡
‫理解の助けになるかもしれません｡
‫ハイパーパラメータチューニングによるモデルの改善｡
‫この食材をデータとして想定し､ 機械学習モデルに､ 私たちの好きな料理を作るためのパターンを解明してほしいとします｡
‫もし､ あなたが好きな料理を作っているのなら､ ここであなたが料理をしているのなら､ 機械学習モデルではなく､ あなたが料理をしているのです｡
‫オーブンを180度で1時間かけても､ お気に入りの料理であるローストチキン料理が思い通りに仕上がらないということがあります｡
‫でも､ 少し練習して､ 試行錯誤の末に､ 200度で1時間加熱すれば､
‫思い通りの料理が出来上がることに気づくのです｡
‫完璧です｡
‫さて､ ここで理解していただきたいのは､ 私たちの場合､ ハイパーパラメータの調整は､ オーブンの温度調整のようなものだという例えです｡
‫最初の機械学習モデルは､ 箱から出してすぐに､ このオーブンで180度で1時間調理したものでしょう｡
‫そして､ その食材をどう組み合わせれば､ 私たちの好きな料理ができるのか､ いくつかのパターンを見つけることができるかもしれません｡
‫しかし､ それは私たちの思い通りにはならないかもしれません｡
‫そこで､ いくつかの異なるパラメータやハイパーパラメータを試し､ 最終的に温度を200℃に変更することを決定しました｡
‫そうすることで､ 私たちの好みにぴったりの料理ができあがるのです｡
‫機械学習のモデルも同じです｡
‫ランダムフォレスト分類器をそのまま､ つまりデフォルトのパラメータ（ここにあるもの）で使用した場合､
‫データのパターンをうまく見つけることができます｡
‫85％くらいの精度でやっています｡
‫しかし､ オーブンレンジの設定と同じように調整することで､ 箱から出してすぐにできることよりも､ データのパターンをもう少し上手に見つけられるようになるかもしれません｡
‫さて､ 繰り返しになりますが､ この概念を理解するのには私も時間がかかりましたので､ ご安心ください｡
‫これから数回のビデオで､ ハイパーパラメーターを調整する3つの方法を見ていきます｡
‫最初は手作業なので､ 手作業でチューニングしてみます｡
‫2つ目は2行目の関数であるランダムサーチCVでランダムに｡
‫そして3つ目は､ グリッド検索で網羅的に｡
‫CV.
‫なるほど｡
‫だから､ ちょっとだけ目を通してみてください｡
‫ここに目を通すだけでいい｡
‫まだ完全に理解できていなくても､ それは全く問題ありません｡
‫しかし､ このセクションで扱うのは､ ハイパーパラメータチューニングに焦点を当てたモデルの改良であることを忘れないでください｡
‫ハイパーパラメータとは､ データのパターンを見つける能力を高めるために調整できるモデルの設定のことです｡
‫もし､ あなたが好きな料理を作るなら､ オーブンの温度を基本設定の180度から調整するかもしれません｡
‫お気に入りの料理を完璧に仕上げるために｡
‫では､ そのことを念頭に置いて､ 次のビデオでお会いしましょう｡