‫お帰りなさい｡
‫そして､ 前回のビデオでは､ 次に使う分類モデルの評価指標は混同行列であると締めくくりました｡
‫さて､ 名前混乱マトリックスについて混乱されている方､ 心配しないでください､ このマトリックスを見ていくと理解できますよ｡
‫つまり､ 混同行列とは､ モデルが予測したラベルと､ 実際に予測するはずだったラベルを比較する手っ取り早い方法なのです｡
‫さて､ 肝心の中身ですが｡
‫モデルがどこで混乱しているのか､ アイデアを与える｡
‫美しい｡
‫さて､ もう一度言いますが､ まだわかりにくいという方はご安心ください｡
‫見てみよう｡
‫いつもそうでしょう？
‫私たちは､ 手を動かすことを好みます｡
‫そこで､ Skylineから､ Matrixモジュールへ｡
‫混乱マトリックスをインポートします｡
‫そして今度は､ いくつかの予測を立てて混乱マトリックスを作ることができます｡
‫この方法は､ predict関数で見てきました｡
‫それをテストデータセットでやってみるのです｡
‫そして､ 混乱マトリックスを通過させるのです｡
‫関数混乱行列yのテストは､ 真のラベルと予測値である｡
‫これが､ 基本的にすべての評価指標が行っていることの核心なのですね｡
‫真のラベルと予測を比較し､ その比較から何らかの示唆を与えてくれているのです｡
‫それで､ シフト・インを打つと｡
‫あ､ ライバックはやめとけ｡
‫これにはどんな意味があるのでしょうか？
‫数字だけでいいんです｡
‫うーん｡
‫これもまた､ ビジュアル化すると分かりやすいのかもしれませんね｡
‫その一つの方法として､ PDクロスタブで混同行列を可視化する｡
‫では､ 実際に見てみましょう｡
‫そこで､ 2つの異なるものを比較するPandas Cross TabのPDを行うことにします｡
‫Yテスト｡
‫Yのテストラベルを比較したい｡
‫ここでも､ 真のラベルと予測値yテストyスプレッドとの比較だけで､
‫行名で渡すのは実際のラベルになります｡
‫カラム名は
‫わかりますか？
‫そうでない場合は､ それでよいのです｡
‫いいえ､ これはコードネームの略です｡
‫これは行の名前になります｡
‫だから､ あのエッセイは必要ないんです｡
‫これはなりそうですね｡
‫予想されるラベル
‫素晴らしい｡
‫では､ どうなっているのでしょうか？
‫まあ､ 比較するわけですから｡
‫真のラベルと予測されたラベルの比較｡
‫これが､ 「混同マトリックス」のクロスタブが示しているものです｡
‫予測されたラベル､ モデルが予測したゼロのラベル､ そして実際のラベルです｡
‫つまり､ ここでは行が実際のラベル､ 列が予測されたラベルということになる｡
‫つまり､ 実際のラベルがゼロで､ 予測されるラベルがゼロの場合､ 22の例があるわけです｡
‫そして､ 予測されたラベルが1つ､ 実際のラベルが1つの場合､ 24の例があり､
‫他の222＋7＋8＋24をチェックアウトする前にこれらをすべて合計すると､ 61となります｡
‫そして､ 何回予測したかを思い出してみると､ テストセットには61個の例があるので､ 61個のYがあります｡
‫なるほど｡
‫では､ この2つは何なのでしょうか？
‫そうですね｡
‫では､ これは読み上げてみましょう｡
‫そのため､ モデルが予測したラベルは1であるが､ 実際のラベルは0であったという予測結果が得られた｡
‫なるほど｡
‫つまり､ 誤検出ですね｡
‫つまり､ 7つのラベルがあり､ 予測されたラベルは0ですが､ 実際のラベルは1なのです｡
‫ということで､ 8つの例です｡
‫つまり､ 8つの偽陰性があるわけです｡
‫そこで､ コンフュージョンマトリックス､ あるいはコンフュージョンという言葉が､ コンフュージョンマトリックスに入ってくるわけです｡
‫この対角線上の例では､ 実際のラベルが1なのに0と予測したり､ 実際のラベルが0なのに1と予測したりと､
‫モデルが混乱しています｡
‫そして､ 混乱マトリックス｡
‫このモデルで見てみると､ サンプルは対角線上にありますから､
‫このように混乱行列ができました｡
‫それは私たちの混乱マトリックス解剖学は､ ここで正しいを参照してくださいです｡
‫対角線がある｡
‫これが真のポジティヴなんですね｡
‫真のネガキャン｡
‫False Negativesはこっち｡
‫つまり､ 混同行列の右側と誤検出はこの下にあります｡
‫なぜ偽陰性になるのですか？
‫まあ､ 予測されるラベルは0なんですけどね｡
‫そうですね｡
‫そして､ このモデルには真のラベルが実は1つ付いています｡
‫そして､ これはモデルが1を予測し､ 真のラベルが0であるため､ 偽陽性である｡
‫そして､ 私たちは以前にもこのようなことがありました｡
‫なんと真陽性､ 偽陽性｡
‫真陰性と偽陰性とは
‫では､ このような､ クロスタブよりももう少し視覚的なものを､ どのように再現すればいいのでしょうか｡
‫そのための一つの方法｡
‫と一緒です｡
‫ここでコメントしましょう｡
‫C Bourneのヒートマップを使って､ 私たちの混乱マトリックスをより視覚的にしてみましょう｡
‫え？
‫行くのか？
‫ダニエル､ シーボーンって一体なんだ？
‫まあ､ ここに行けばね｡
‫シーボーンヒートマップ｡
‫これが私の仕事です｡
‫わからないことがあると､ seaborne heat mapで､ seaborneを見るんです｡
‫シーボーンとは何ぞやと思われるかもしれません｡
‫シーボーンヒートマップは､ 長方形のデータを色分けしたマトリックスとしてプロットします｡
‫よし､ じゃあ､ 肝心なところを教えてあげよう｡
‫Seaborneはmap plot libの上に構築された可視化ライブラリで､ かなり比較的簡単に使えるのですが､
‫今回はほとんどヒートマップの機能だけを取り上げます｡
‫では､ 見てみましょう｡
‫seaborneをPsnsとしてインポートして､ seaborneのフォントスケールを少し小さくして､ フォントスケールを設定し､
‫psnsは設定しないでフォントスケールを設定します｡
‫これは､ クロスタブ以外に混乱マトリックスを視覚化する最も簡単な方法の一つです｡
‫そこで､ 混乱マトリックスを作りに行きます｡
‫私たちは､ キーストロークを最小限に抑えたいので､
‫混乱マトリックスの略から来ることにしています｡
‫そして､ seaborne sas dot heat map conf mapを使ってプロットしていきます｡
‫ああ｡
‫何？
‫Module not found エラー｡
‫ドラえもん
‫シーボーンは使えません｡
‫いや､ 冗談です｡
‫このモジュールが見つからない理由は､ 最初にCondaを使って環境を作った時のことを思い出してください｡
‫まあ､ そんなことをしても､ シーボーンをインストールすることはないんですけどね｡
‫そして､ Seabournはmap plot libの上に構築されているので､ 私たちはmap plot
‫libを持っていますが､ Seabournを持っていません｡
‫では､ コンドルの環境にモジュールをインストールするには､ どうすればいいのでしょうか｡
‫ターミナルで実行されているもの､ ですね｡
‫これがターミナル上で動作しているcondor環境です｡
‫これがJupyter Notebookのサーバに提供されているものです｡
‫どのようにインストールするのでしょうか？
‫そこで､ 一つの方法として､ ターミナルに行き､ 新しいウィンドウを立ち上げます｡
‫私の環境が保存されているCDデスクトップメールコース､ サンプルプロジェクト､ またはここを拡大して見ることができるようにするかもしれません｡
‫サンプルプロジェクト LRS 環境をここに用意し､ リストを表示させます｡
‫素晴らしい｡
‫そして､ それをアクティベートする場合は､ conda activateとします｡
‫私たちのサンプルプロジェクトが欲しい｡
‫それをコピー＆ペーストする｡
‫そうすれば､ シーボーンをコンデジでインストールすることができるんです｡
‫それは､ もうひとつの選択肢を紹介するので､ 頭から否定することはしません｡
‫今回は､ Jupyter Notebookの中ですぐにできる方法を紹介します｡
‫これはちょっとしたボーナスチップですよね？
‫分類モデルの評価動画の中で行っているのですが､ 今回はSeabournを使いたいので､ Jupyter
‫Notebook内から行う方法を見てみましょう｡
‫そのため､ このモジュールが見つからないというエラーが発生した場合は､ この方法を試してみてください｡
‫そこで､ あるコードに出会ったり､ インストールされていないライブラリから使いたい関数に出会ったりすることがあります｡
‫このように､ Jupyterノートブック内から行うことで､ 環境にインストールすることができるので､ すぐに利用することができます｡
‫だから､ ここでこのセルを実行した後､ このセルを使って
‫すべてがうまくいけば
‫プランです｡
‫はい｡
‫接頭辞｡
‫つまり､ これはCISを輸入しているということなんです｡
‫そしてこのbang関数を実行します｡ これはJupyterにbashコマンドを実行するように指示する方法です｡
‫だから､ ここで同じコマンドをやったかのように､ LZ.
‫ここで､ bang LZを実行すると､ 全く同じ出力が表示されます｡
‫しかし､ Jupyterノートブックの中だけで､ そのセルを取り除くことができるのです｡
‫必要ないんです｡
‫そして､ インストールする......インストールにパスするんだ｡
‫はい｡
‫そして､ プレフィックス......私たちはプレフィックスを見てきました｡
‫環境を整えるときに､ cis prefixにするんです｡
‫プリフィクスとは､ パス名aの別名に過ぎない｡ k. a.
‫ここにあるのは､ このこと｡
‫パス名です｡
‫そして､ シーボーンに行くのです｡
‫だから､ この売り方を実行できるよう祈っている｡
‫Seabournをインストールして､ C Bourneのheatmap関数を使って混乱行列をプロットできるはずです｡
‫では､ シフトして入力しましょう｡
‫また､ こんにちは｡
‫一部読み込み中｡
‫美しい｡
‫これは､ 何をするかということを教えてくれているのです｡
‫コンドルの新バージョンが存在する｡
‫ありがとうございます｡
‫パッケージプランにスラッシュを追加し､ スペックを更新しました｡
‫シーボーン うん｡
‫以下の新しいパッケージがインストールされます｡
‫うん｡
‫Patsy Seaborneが取引準備モデルを開始｡
‫ダンダンダン
‫ダニ
‫真実の瞬間｡
‫伝授には少し時間がかかるかもしれません｡
‫あ､ これだ｡
‫でも､ あまり提供できていないのが現状です｡
‫うーん｡
‫それはなぜでしょうか？
‫基調講演に戻り､ 混乱マトリックスの解剖学を見る｡
‫もうちょっと､ こんな感じにしたいですよね？
‫そこに数字を乗せること｡
‫さて､ なぜこれはそれを提供しないのでしょうか？
‫さて､ そこでビデオを一時停止してみましょう｡
‫次のビデオでは､ 混乱マトリックスの修正について続けます｡
‫どうやったら数字が出るか見てみよう｡
‫しかし､ ここで少し注意してほしい｡
‫使用できるサンプルコードのリファレンスに記載されますよ｡
‫しかし､ これは方法です｡
‫condaパッケージのインストール方法をインストールすることができます｡
‫jupyterのノートブックから｡
‫現在の環境の中に
‫そして､ パッケージをこちらに置くだけです｡
‫わかりました｡
‫ちょっと休憩しましょう｡
‫あの映像には､ いろいろなことが書かれていました｡
‫次回作でお会いしましょう｡