‫お帰りなさい｡
‫どうだった？
‫回帰推定量を使った回帰問題で､ スコアメソッドを使ってみましたか？
‫ぜひ挑戦してほしい｡
‫そうでない場合は､ 確認しましょう｡
‫その前に強調しておきたいのは､ ここにはトレーニングデータセットがあり､ もちろん､ トレーニングデータセットでモデルがどのように動作するかが気になるところです｡
‫しかし､ もしあなたがJupyter Notebookの外でモデルを使おうとしているなら､ 機械学習やその他を進めていく中で､
‫おそらく間違いなくそうなるでしょうが､ テストスコアに本当に注意を払いたいものです｡
‫これは､ モデルをエクスポートして保存し､ アプリケーションで使用する際に､ 実際に問題となるスコアです｡
‫そうですね｡
‫もちろん､ トレーニングはええ｡
‫トレーニングで良い結果を出したいと思っても､ テストは本当に未見のデータなんです｡
‫そういうことです｡
‫そしてもちろん､ モデルを実際にアプリケーションにデプロイするときが､ 本当のテストセットとなります｡
‫しかし､ 今のところ､ いくつかのデータを隠すことで､ アプリケーションの中にあるモデルをシミュレートすることができます｡
‫それでこの点数ですが､ 私はトレーニングの点数よりもテストの点数に注目します｡
‫だから､ その点だけは注意してください｡
‫さて､ せっかくなのでリグレッションコードを取得してみましょう｡
‫すでに何度か見ているので､ ここで一旦下げます｡
‫スコアメソッドを実践していく
‫予測は必要ない｡
‫数字を予測するので､ ランダムフォレスト回帰をインポートしているわけです｡
‫住宅データフレーム､ X､ 特徴量はターゲット変数以外のすべてで､ ラベルはターゲット変数です｡
‫それをトレーニングセットとテストセットに分けます｡
‫ランダムフォレスト回帰となるモデルインスタンスを作成することにします｡
‫デフォルトが100であるように推定量を設定することで､ モデルを単純化することができることを忘れないでください｡
‫まずは2つから始めて､ 我々のモデルがどれだけ適合性が低いかを見てみるのはどうだろう？
‫このモデルは､ 2万個のサンプルのどこにフィッティングしているのか､ あなたにも知っておいてもらいたいので､
‫かなり早くできるはずです｡
‫しかし､ この数値が高くなればなるほど､ ご想像の通り､ モデルがYにフィットするのに時間がかかるようになるのです｡
‫なぜなら､ アンサンブルとは､ さまざまな種類のモデルの組み合わせであることを忘れてはならないからです｡
‫つまり､ 2つしか装着しないのであれば､ 装着にかかる時間は2%で済むということです｡
‫100と1000はどれくらいかかるんだ？
‫100の10倍の長さ｡
‫もちろん､ 計算機のスケールやマルチ処理などの関係で､ この数字が100％正しいとは限りません｡
‫ただ､ 経験則から言うと､ ここにあるような推定値が多ければ多いほど､ モデルの適合に時間がかかるでしょう｡
‫では､ それを試してみましょう｡
‫もう一度はめよう｡
‫そして､ 今度はそれを採点する｡
‫テストデータでスクールメソッドを使用｡
‫性能はどうですか？
‫0. 7.
‫え？
‫では､ とりあえずそこに格納すればいいように書き換えてみましょう｡
‫なぜ今テストするのか？
‫それは､ 2つのエスティメーターを使った場合です｡
‫そうしよう｡
‫これを10にアップグレードしよう｡
‫何が起こるかわからない......私たちはパフォーマンスを上げることができます｡
‫あれを見てください｡
‫そこで8点を獲得する｡
‫さて､ ここでスコアメソッドに使われている指標を確認したい場合､ どのようにすればよいでしょうか｡
‫回帰アルゴリズムについては､ docstringを確認すればよい｡
‫それで､ デフォルトのスコア方式を覚えられないんです｡
‫評価指標は決定係数（R2乗値の別系統の言葉）を使用します｡
‫もっと詳しく読みたい方は､ ウィキペディアのページが素晴らしいです｡
‫YouTubeに素晴らしい動画があると思いますが､ 本来はR二乗やR二乗と表記される係数のことでもあるんです｡
‫R二乗は､ 独立変数によって予測可能な従属変数の変動の比率を表すと言われています｡
‫データサイエンスの世界では様々な用語がありますが､
‫従属変数がターゲットです｡
‫DF つまり､ この変数は他の変数に依存しているという前提があるので､ これが従属変数Yとなるわけです｡
‫これらは､ 特徴量と呼んでいますが､ 独立変数とも呼ばれます｡
‫なぜなら､ これらが独立して組み合わさって従属変数を作るからです｡
‫というのが私の解釈です｡
‫あなたは違う解釈をするかもしれませんが､ 私はこういう風に解釈しています｡
‫そして､ さまざまな名前のものを使って､ 時間をかけて自分の直感を積み上げていくのです｡
‫でも､ これらはすべて中所得者みたいなものなので､ 名前の特徴も気に入っています｡
‫それを組み合わせてターゲットとなる変数を予測するための機能ですね｡
‫つまり､ これがrの二乗の値です｡
‫それでは､ バージョンアップしてみましょう｡
‫50の見積もりをやってみるのはどうだろう？
‫そこで何が起こるのか？
‫だから､ 以前は7・8だったんです｡
‫その時は､ また少し時間がかかってしまったことをご覧ください｡
‫そこで､ 80に押し上げたのです｡
‫ここも覚えておいてください｡
‫ただ､ スコア評価の指標として､ 回帰アルゴリズムではRの2乗がデフォルトで､ 最高値が1になることを忘れないでほしい｡
‫0 最低でも0に等しい｡ 0.
‫ですから､ もし私たちのモデルが完全に予測したなら
‫テスト値なら1点｡ テスト値の平均を予測した場合は0点｡
‫0.
‫Rの2乗関数はそういうものなんです｡
‫では､ もしあれば､ なぜyのテストをするのか？
‫そこには､ すべての価値観があります｡
‫もし､ その平均値を得たとして､ 予測したすべてのサンプルがそれを予測したとしたら､ R2乗の値はゼロになります｡
‫そして､ よかったらそれを試してみてください｡
‫しかし､ これを少し突き詰めてみましょう｡
‫100まで行って見よう｡
‫もう一度採点してみる｡
‫50人だけのときより少し時間がかかるが､ 2人だけのときよりかなり時間がかかる｡
‫なるほど｡
‫だから､ あまり高くはならないんです｡
‫ということは､ 80歳がひとつの区切りとなりそうです｡
‫いろいろな値で探ってもらう｡
‫しかし､ これはモデルの評価指標とスコアリングの主要な要素である､ 予測の品質を定量化することをカバーしたに過ぎないのです｡
‫これはもう､ やり尽くしましたね｡
‫そこで次に､ スコアリング・パラメーターの使い方を検討し始めます｡
‫もし先に進みたければ､ ここでスコアリング・パラメータを読んで､ どのようなメトリクスがあるのかを確認し､
‫どれが回帰用でどれが分類用なのかが分かるとよいでしょう｡
‫次の動画でお会いしましょう｡