‫お帰りなさい｡
‫取材内容を再確認しよう｡
‫では､ これまで何をしてきたのか｡
‫私たちはゼロでした｡
‫サイキックローンのワークフローも端から端まで｡
‫そして､ 1回やりました｡
‫データを準備する
‫さて､ 次に2番目の問題､ つまり問題に適した推定スラッシュアルゴリズムを選択することについて見てみましょう｡
‫ここでは､ 問題に適した推定量とスラッシュアルゴリズムを選択するための新しい見出しが作成されます｡
‫サイキックラーニングは非常に広大なライブラリーなんですね｡
‫だから､ いくつかの方法が必要だし､ 少しはナビゲーションの練習をしようよ｡
‫注意すべき点は何か､ 書いてみましょう｡
‫機械学習のモデルやアルゴリズムをエスティメーターと言ったときに､ Kalenが言うように｡
‫このように､ 機械学習の世界では､ さまざまなものにさまざまな名前がついています｡
‫機械学習モデルやアルゴリズムと言った場合､ Cycloneは推定量と呼び､ その推定量の中に分類モデルであるclassifiersがあり､
‫さらにその推定量の中に回帰モデルであるregressesがあることを覚えておいてください｡
‫そして､ 思い起こせば､ 分類の問題があれば､ カテゴリーを予測しているのです｡
‫つまり､ 何かはたいてい一つか二つ､ あるいは複数のカテゴリーに分かれている可能性があるのです｡
‫私たちの場合､ 心臓病を見るか見ないか､ だから一か八か｡
‫また､ 分類では､ 推定値であるクラシファイアや､ サイキック学習､
‫時には自己を見ることができます｡
‫そこで､ 分類推定器として使われるclassifierの略称であるCLFを採用した｡
‫つまり､ CLFは非常に一般的な分類変数名､ 分類モデル変数名なのです｡
‫それから､ 回帰の問題もあります｡
‫このモジュールでは､ 車の販売価格などの数値を予測する回帰と分類に着目しています｡
‫なるほど｡
‫では､ これをマークダウンに変えてみましょう｡
‫また､ 機械学習アルゴリズムのモデル名やアルゴリズムとしての推定値など､ さまざまなリストを見たことがある人もいるでしょう｡
‫は､ かなりの数があることはご存じでしょう｡
‫では､ サイキック・ラーンは何をしてきたのか､ していなくても大丈夫､ それらを探っていきます｡
‫マップを作成したそうです｡ スカラーと機械学習モデルのマップを見てみましょう｡ 私が最初に始めた頃は､
‫かなり頻繁にこれを参照しました｡
‫今､ 私は経験を積んでいる｡
‫さて､ これは初めて見る人にはとても大変なことだと思います｡
‫しかし､ このモジュールを終える頃には､ これらのアルゴリズムをすべて使う経験を少しは積んでいるので､
‫回帰問題にはこのアルゴリズムを､ 分類問題にはこのアルゴリズムを使う必要がある､ と考えることができるようになります｡
‫教師なし学習の一種であるクラスタリングに､ これらのアルゴリズムのいずれかを使用する必要があります｡
‫私はこれらを次元削減に使っていますが､ 今回は分類回帰に焦点を当てます｡
‫機械学習の2大問題｡
‫これらが何なのかを見るなら､ サイキックローンの資料を参照するといい｡
‫では､ ここからが本題です｡
‫つまり､ ある種の機械学習の問題があるとすると､
‫この青いステップを踏んでいくことになります｡
‫機械学習では､ データが多ければ多いほど､
‫アルゴリズムがうまく機能するのが普通だからです｡
‫ですから､ Excelのスプレッドシートの50行や､ 心臓病の人とそうでない人の50種類の例など､
‫50以上のサンプルがない場合は､ もっと欲しいところでしょう｡
‫しかし､ これを追跡できるように､ データセットを取得しましょう｡
‫まず最初に始めるのは､ 回帰データセットです｡
‫だから､ この地図のリンクをここに貼っておこうかな｡
‫ですから､ 機械学習の問題に取り組んでいて､ 使いたい､ 学びたい､ どのモデルを使えばいいのかわからないという場合は､
‫機械学習マップを参照してください｡
‫これでよしとしよう｡
‫もちろん､ そもそも非常にわかりにくいし｡
‫しかし､ 経験を積んでいくうちに､ どのように使えるか見えてくるはずです｡
‫そこでまず最初に､ データセットが必要です｡
‫回帰データセットを取得してみましょう｡
‫おい､ 2ちゃんねる｡ 1､ 回帰問題に対する機械学習モデルを選ぶ｡
‫繰り返しになりますが､ 回帰問題ってなんですか？
‫数字を予測するのです｡
‫カリフォルニアの住宅データセットを使ってみよう｡
‫ダニエル､ このデータセットはどこから持ってきたんだ？
‫どこからそのような発想が出てくるのでしょうか？
‫まあ､ また､ サイキックローン文書､ ASCローンデータセット｡
‫だから､ おもちゃのデータセット｡
‫トイデータセットとは？
‫まあ､ 小さなデータで練習できるって感じですね｡
‫さて､ このビデオのオリジナル版では､ ボストンのデータセットを使っています｡
‫しかし､ それは1.で非推奨となっています｡ この動画を収録している時点でのサイキックローンの最新バージョンである「0」｡
‫だから､ その点だけは注意してください｡
‫旧バージョンのサイキックローンをお使いの場合､ ボストンのデータセットは非推奨となっています｡
‫その理由については､ ドキュメントを読んでいただくとして｡
‫そこで､ 今回はカリフォルニアの住宅データセットに焦点を当てます｡
‫ここに住宅はあるのか？
‫ハウジング？
‫ここはどこですか？
‫ボストンの住宅
‫非推奨｡
‫え？
‫おもちゃのデータセット
‫調べてみよう｡
‫迷ったら､ ググってみてください｡
‫カリフォルニアの住宅を学ぶ
‫これでよしとしよう｡
‫データセット
‫カリフォルニアの住宅を取得する｡
‫ふむ｡
‫それがなぜ､ おもちゃのデータ感覚でなかったのかが不思議です｡
‫データセットの読み込みユーティリティにあるのかもしれませんね｡
‫カリフォルニア州
‫あ､ これだ｡
‫実世界のデータセット
‫さて､ おもちゃのようなデータセットと､ 現実の世界のデータセットがありますね｡
‫現実のデータを使っているんですよ､ ははは｡
‫それでは､ どうぞ｡
‫これらはすべてサイクロンに内蔵されています｡
‫今､ あなたのデータセットは､ 必ずしもサイクロンに組み込まれていないかもしれません｡
‫まあ､ そうではないのでしょうけど｡
‫しかし､ これらのデータセットで練習しておけば､ いざ自分のデータセットで作業するときに､ 「あ､
‫このデータセットで作業する練習をしたんだ」と思えるようになります｡
‫そこで今回は､ Here we goを予測したいと思います｡
‫ターゲット変数は､ カリフォルニア地区の中型住宅価格を数十万ドル単位で表示したものである｡
‫だから何十万円もする｡
‫コード例はありますか？
‫ここで､ この関数にリンクしています｡
‫コード例はなく､ ユーザーガイドです｡
‫これでよしとしよう｡
‫まあ､ そこにリンクしているだけなんですけどね｡
‫では､ 実際に見てみましょう｡
‫ねえ､ ドキュメントを飛び回るより､ コードを書こうよ｡
‫では､ Kelly Fournierの住宅データセットを取得しましょう｡ SRCから､ learn dot data sets importに移動します｡
‫フェッチする｡
‫カリフォルニアの住宅を取得するために､ ハウジングイコールという変数を設定します｡
‫これは機能です｡
‫私たちがやっているのは､ この関数を呼び出すことだけです｡
‫これをリンクさせるかもしれないので､ 持っている｡
‫カリフォルニアの住宅データを使ってみよう｡
‫そして､ 住宅がどのようなものかを見てみると､ 何が見えてくるのでしょうか｡
‫インターネットからデータを読み込む必要があるため､ 少し時間がかかる場合があります｡
‫だから､ それによっては､ ああ､ 映ってないんだ｡
‫よし､ これでいいんだ｡
‫美しい｡
‫だから､ 辞書があるんです｡
‫なぜ､ そう言えるのか？
‫そこには辞書のカールがあるんです｡
‫そして､ dataというキーと､ ここにあるすべての異なる数の値の配列を持っています｡
‫ターゲット欄ができました｡
‫ターゲット名と機能名を決めた｡
‫そこで､ 今回のケースでは､ 特徴量を用いてターゲットを予測したいと思います｡
‫では､ 見てみましょう｡
‫これをデータフレームにして､ もう少し使いやすく可視化するか､ ハウジングDFイコールPDデータフレームにしましょう｡
‫データフレームには､ 辞書を渡すことができることを覚えておいてください｡
‫そこで､ 私たちの場合は､ 住宅辞書とデータを使いたいと思います｡
‫そこで､ データが欲しいDataFrameのdocstringを思い出してみると､ 住宅辞書のデータキーは何でしょうか｡
‫そして､ もしインデックスが下がったら､ また別のものです｡
‫コラム､ なんか違う｡
‫だからコラム｡
‫これでよしとしよう｡
‫それが私たちの願いです｡
‫では､ データだけならどうでしょう？
‫住宅というのは､ どのようなものでしょうか｡
‫DF なるほど､ そうですね｡
‫つまり､ ゼロから始まる1列､ 2列､ 8列があるわけです｡
‫サンプル数は2万個です｡
‫これは美しい､ 実世界のデータセットに非常に近い2万個のサンプルと､ それから､ そうです｡
‫そこで､ ここにラベルを貼りたいのです｡
‫これが私たちの特徴なんですね｡
‫特徴
‫そうしよう｡
‫ここに書き込もう｡
‫コラムを掲載しています｡
‫イコールです｡
‫機能名が欲しい｡
‫これはどのようなものでしょうか｡
‫ハウジングDF｡
‫オノレ
‫住宅が必要です｡
‫住宅です｡
‫DFビューティフル
‫なるほど｡
‫それが､ 私たちの目指すところです｡
‫だから､ ターゲットネームはメド・ハウス・バリュー｡
‫そこで､ 家の価値を表示する必要があります｡
‫では､ カラムを追加してみましょう｡
‫住宅に行く｡
‫ハウジングDFと呼ぶことにします｡
‫ターゲット名｡
‫メド・ハウス・バリュー
‫そこで､ このイコール､ 住宅データフレームと呼ぶことにしましょう｡
‫だから､ これがターゲットとなる住宅になるんです｡
‫そして､ 立ち直れば｡
‫ターゲット
‫さて､ これは皆さんがお持ちの多くのデータセットで行わなければならないことです｡
‫これもすでにかなりフォーマット化されているのですが､ 操作できるように構築する必要があったり､
‫パンダやサイキック学習､ ナンピーのようなものを使って操作できることが多いでしょう｡
‫では次に､ ヘッドを見てみましょう｡
‫素晴らしい｡
‫そこで､ この値を使って､ 住宅価格（Med）を予測することにしました｡
‫さて､ この価値観とは何でしょうか｡
‫メドック 家屋年齢､ 平均客室数､ 平均寝室数､ 人口職業､ 緯度､ 経度｡
‫では､ その機能を見てみましょう｡
‫まあ､ 機能なんですが､ 詳しくはユーザーガイドを読んでください｡
‫実世界のデータセット カリフォルニア住宅データセット
‫これでよしとしよう｡
‫INCはブロック群の中央値で､ ブロック群は1つの国勢調査ブロック群につき1行を使用している｡
‫つまり､ このデータセットの各行が0 1､ 2､ 3､ 4､ ...となるわけです｡ カリフォルニア州では2万人までがブロックグループであり､
‫ブロックグループは米国国勢調査局がサンプルデータを公表している最小の地理的単位である｡
‫だから､ 一般的には60万3,000人くらいですね｡
‫そこで､ カリフォルニアの狭い地域と､ その地域の統計や属性を使って､ 何千ドル､ 何十万ドルという単位で表される住宅価格の中央値を予測しようとしているのです｡
‫この場合､ カリフォルニアのどのグループであっても､ この緯度経度では､
‫家の価値の中央値は4となります｡ 10万の5〜6倍､ つまり452,000､ 6000です｡
‫その辺にあるもの｡
‫これを10万倍すればいいのです｡
‫それが家の価値です｡
‫さて､ 私たちの脳を正気に保つために､ これをターゲットに変更することがあります｡
‫我々はちょうど覚えておく必要があり､ ああ､ どのように我々は列の住宅dfを取り除くために我々はドロップしたい作られた家のvalは､
‫我々はここで場所に持っている場所イコール真のドロップおっと｡
‫いいえ､ それはハウジングではありません｡
‫DF ACLsハウジングdfドロップと我々は､ 軸が等しい1ハウジングが必要です｡
‫DF よし､ これでいいんだ｡
‫では､ これらの特徴量を用いて､ この目標値を予測するアルゴリズムをどのように構築すればよいのでしょうか｡
‫さて､ まず最初に｡
‫どうすればいいんだろう？
‫さて､ まずデータを特徴量とターゲットに分割するのではなく､ XとYに分割しなければなりませんね｡
‫では､ そうしましょう｡
‫まず､ ここでちょっとだけ発言しておきます｡
‫インポートアルゴリズム｡
‫そして､ ランダムシーンを設定して､ 訓練データとテストデータを作成します｡ ランダムシードは42に設定し､
‫データを作成します｡
‫XはハウジングDFのドット落ちになりそうです｡
‫軸の目標値をイコール1に落とすことにします｡
‫Yを設定することになりました｡
‫つまり､ ラベルは目標値が何なのか､ ということになるわけです｡
‫その正体をここに記しておこう｡
‫これが数十万円の住宅価格の中央値です｡
‫そして､ データを分割して､ トレーニングセットとテストセットに分けます｡
‫つまり､ xが欲しい､ xを訓練する､ yをテストする､ yのテストを訓練する､ に等しく､ テストを分割する｡
‫この機能は以前にも見たことがあります｡
‫X Y テストサイズは0に等しい｡ 2.
‫これは､ データをトレーニングセットとテストセットにランダムに分割するものです｡
‫そして､ モデルをインスタンス化してフィットさせ､ トレーニングセットでモデルをフィットさせ､ 後でテストセットで評価できるようにしたいのです｡
‫今はモデルが用意されていないんです｡
‫しかし､ 回路学習アルゴリズムのスラッシュ推定量が使える場所を確認したい場合､ どこに行けばいいのだろうか｡
‫まあ､ サイキックローン機械学習マップに行くんですけどね｡
‫美しい｡
‫では､ ここからスタートしますが､ サンプル数は50以上です｡
‫はい｡
‫私たちが予測するすべてのカテゴリー｡
‫何かを分類しているのだろうか？
‫いいえ｡
‫量を予測しているのだろうか？
‫はい｡
‫サンプル数は10万以下ですか？
‫はい｡
‫いくつかの機能は重要であるべきです｡
‫実はこれ､ よくわからないんです｡
‫だから､ いくつかの機能が重要になるはずです｡
‫では､ どれだけの機能があるのでしょうか？
‫8つほどありますね｡
‫どれが重要か､ 重要でないかを先に知るにはどうしたらいいのだろう｡
‫さて､ ここからは実験です｡
‫さて､ ここにある緑色のボックスはすべて､ サイキック学習の機械学習モデルです｡
‫つまり､ lassoをクリックしても､ Elastic Ridge Regression Ensemble Regressesをクリックしても､ これらはすべて異なるタイプのモデルなのです｡
‫そこで､ そのうちのいくつかをクローズすることにしました｡
‫よかったら､ それらについて読んでみてください｡
‫でも､ ここで実験するのは､ 実は答えがわからないからです｡
‫重要な機能はほとんどないはずです｡
‫よくわからないんです｡
‫先行する｡
‫この中で､ どの機能が最も重要になるか分かりますか？
‫しないんです｡
‫機械学習は､ 何が価値があって何が価値ないかを事前に知ることができるのです｡
‫一番いいのは､ 何？
‫実験､ 実験､ 実験｡
‫では､ 今度はちょっと試してみましょうか｡
‫回帰に飛び込もう｡
‫いや､ どの機能も同じくらい重要だと言っておきましょう｡
‫つまりリッジ回帰ですね｡
‫これは何でしょう？
‫その内容を読み解くことができる｡
‫派手な数式がありますが､ pythonのコードで見てみましょう｡
‫もう一度言いますが､ 派手といえば派手ですが､ これがいかに重要なことかということです｡
‫Pythonのコードは､ それをベースにしています｡
‫そこに飛び込みたい人は､ どうぞ｡
‫しかし､ 私たちはコードを書くことに集中します｡
‫そこで､ scalarからimport linear model､ linear model dot ridgeが必要で､ ここにいくつかのデータを渡します｡
‫実際に見てみましょう｡
‫こんにちは｡
‫そこで､ ポートリッジのスカイライン・ドット・リニア・モデルからここに行く｡
‫繰り返しになりますが､ 私たちが行ったのは､ この小さなカンニングペーパーを見ながら､ 50以上のサンプルがあることを確認することだけです｡
‫カテゴリーを予測しているわけではありません｡
‫量的に予測しているのです｡
‫サンプル数は10万以下なので､ ここはよくわかりません｡
‫だから､ そこにあるものを何でも試してみるだけです｡
‫機械学習の素晴らしいところは､ これらを試してみて､ 後でどれが一番性能が良いかを比較し､
‫そのアルゴリズムを最適なアルゴリズムとして使用できることです｡
‫では､ Ridgeモデルを手に入れたので､ インスタンス化してみましょう｡
‫Model Equals Ridgeと呼ぶことにします｡
‫私は何かをモデルと呼ぶなら､ 私はしばしばそれを推定値と呼ぶことを学ぶことができると言ったことを覚えておいてください｡
‫意味合いが違うだけです｡
‫ここで作成したX列車Y列車データに対して､ 列車テスト分割でフィットさせることにします｡
‫そして､ 今度はモデルのスコアを確認します｡
‫テストセットで
‫だからモデルドットスコア､ xテスト､ yテスト｡
‫さて､ どうなることやら｡
‫あ､ そうか｡
‫ここに何らかの価値を出しているのです｡
‫さて､ この値は私たちにとってどのような意味を持つのでしょうか｡
‫まあ､ 今のところあまりないんですけどね｡
‫そこで､ 楽譜のdocstringを確認してみましょう｡
‫決定係数を返します｡
‫決定係数とは何ですか？
‫その決定係数をググってみよう｡
‫R二乗は､ その二乗残差の総和から1を引いたものに等しい｡
‫平方和の合計｡
‫ふむ｡
‫ウィキペディアを手に入れた｡
‫これを試してみよう｡
‫インベストペディア
‫決定係数とは何ですか？
‫決定係数とは､ ある事象の結果を予測する際に､ ある変数の違いが､ 第二の変数の違いでどの程度説明できるかを調べる統計学的な測定値である｡
‫つまり､ この係数は一般にR二乗､ R三乗と呼ばれ､ 2つの変数の間にどれだけの直線関係があるかを評価するもので､
‫研究者が傾向分析を行う際に多用されている｡
‫うーん｡
‫これから様々な回帰評価指標について掘り下げていきますが､ サイキック・ラーニングにおける回帰モデルのデフォルトの回帰評価指標は､
‫このR2乗の値だということを知っておいてください｡
‫つまり､ これは2つの変数の直線的な関係を測定しているのです｡
‫今回の場合､ 2つ以上の変数がありますが､ 基本的にはこれらの変数間の関係を取っています｡
‫つまり､ 特徴とターゲット変数で､ どの程度予測できるかを言っているわけですね｡
‫現在のモデルを用いて､ これらの特徴から､ 我々のモデルがどの程度予測可能であるか｡
‫対象変数をどの程度予測できているのか？
‫そこで､ 今､ いろいろと申し上げましたが､ この価値について考えてみてください｡
‫最小値は0である｡
‫最高値は1である｡
‫だから､ 高い方がいいんです｡
‫これらの特徴は､ この目標値に対してどの程度の予測性を持っているのでしょうか？
‫それが決定係数なんですね｡
‫もしよろしければ､ もっと詳しく調べてみてください｡
‫大歓迎です｡
‫しかし､ この後､ さまざまな評価指標を見ていくことになります｡
‫でも､ とりあえず､ この値でいいと｡
‫その価値を高めるにはどうしたらいいのか｡
‫よくわからなくてもいいんです｡
‫しかし､ どんなデータがあるのか考えてみよう｡
‫機械学習モデルをどのように改善するか？
‫まあ､ データを増やすというのも一つの方法でしょう｡
‫また､ 違う機種を選んで試してみるのも一つの方法でしょう｡
‫だから､ この多くは実験的なものだと言ったことを忘れないでください｡
‫このグリーンボックスを一つ試したところです｡
‫では､ 次のビデオでは､ この緑色の箱のどれかに飛び込んでみてほしいのです｡
‫Lasso elastic net ensemble はリッジを回帰させる｡
‫Ridge SVRを試してみて､ 我々のデータセットで動作するかどうか､ そして我々のモデルの現在のR二乗スコアを改善できるかどうかを確認してください｡
‫ここに同じコードを書くだけです｡
‫使う機種が変わるだけで､ 次のビデオでお会いできますね｡
‫このスコアを更新できるように頑張ります｡