‫お帰りなさい｡
‫さて､ これでJupyter Notebookが起動しました｡
‫このノートブックで実際に何ができるかを確かめる時です｡
‫そういえば､ 前回のレッスンで､ こんなことをやっていましたね｡
‫これは標準的なメニューバーのようなものです｡
‫これはツールバーです｡
‫でも､ キーボードの使い方のエキスパートになりたいので､ ツールバーの使用は避けたいと思います｡
‫保存､ 追加､ 切り取り､ コピー､ 貼り付けなど､ ここでできることのすべてです｡ キーボードでできること
‫では､ これによって何が救われるのでしょうか？
‫さて､ セルで実行をクリックする代わりに｡
‫つまりrunは､ あるコードを実行する方法です｡
‫ここに行くと､ 素敵なメッセージを印刷したくなるかもしれません｡
‫ハローワールド
‫ジュピターノートを勉強中です｡
‫シフトとエンターキーを押すんです｡
‫それができたんです｡
‫習慣でそうしてきたと言うことです｡
‫そうですね｡
‫このツールバーの使い方を学ぶというより､
‫最初からキーボードの使い方に焦点を当てます｡
‫そして今､ 皆さんがお気づきのことは､ シフトとエンターキーを押すたびに左の数字が上がっていることでしょう｡
‫このセルをハイライトした状態で､ シフトを押していることを思い出してください｡
‫入る｡
‫これが､ Jupyterノートブックでコードを実行する方法です｡
‫きれいでしょう？
‫そして､ このセルの数字が上がっていくこと｡
‫というのは､ これは13番目の細胞だということです｡
‫これは細胞であることを忘れないでください｡
‫コードでもマークダウンでもいい｡
‫ちょっと見てみましょう｡
‫このセル､ またはJupyterで合計13個のセルが実行されました｡
‫これが役に立つのは､ aが514に等しいような場合､ そしてaを実行した場合です｡
‫aイコール6という意味ではないんです｡
‫では､ 今､ Aは何に相当するとお考えですか？
‫これは14で､ これは16だから｡
‫これを押してシフト､ エンターを押すと
‫Iは6に相当することになる｡
‫ですから､ これらの数字は､ ノートブックがどのような順番で実行されたかを示すのに役に立ちます｡
‫例えば､ このように異なる情報を持つセルが100個あったとして､ 理想的な世界ではノートブックを上から下へ走らせますが､
‫場合によってはプロジェクトで､ 上のセルを走らせてから､ 下のセルを再走させることもありますよね｡
‫そして後でノートブックの数百セル下の方に
‫何らかのエラーが発生しているのでは？
‫これは､ あなたのノートブックがどのような順序で実行されたかを知るために使用するものです｡
‫さて､ ここにコードがあるので､ Pythonのすべての機能をJupyter
‫Notebookの右側から1＋2にシフトして実行することができます｡
‫あるセルにはインが､ あるセルにはアウトがあることに気づくだろう｡
‫さて､ ある種のコード出力のような出力を持つセルには､
‫通常､ 数で一致するoutnumberがあるはずです｡
‫つまり､ 入力コードがここにあり､ 出力コードがここにあるということです｡
‫さて､ コードとマークダウンの前に､ このことを簡単に説明しました｡
‫ここでJupiterとOpalの絶対的な素晴らしさが発揮されるのですが､
‫コードとフォーマットされたテキスト､ つまりマークダウンが同じノートブック内に存在できるのです｡
‫一例をお見せしましょう｡
‫そこで､ 私たちは「心臓病プロジェクト」というプロジェクトを立ち上げたいと考えました｡
‫そして､ Jupiter Notebooksはデータサイエンス・プロジェクトのワークスペースであることを忘れないでください｡
‫そのため､ 機械学習のコードを実行し､ その内容をThe Notebookからすぐに記述することができます｡
‫これから実際に使ってみますが､ セルをマークダウンにすることで何ができるかを強調したいと思います｡
‫だから､ それをマークダウンに変えればいいんです｡
‫しかし､ ツールバーの使い方に慣れないうちは､ どこをどうすればいいのか覚えておいてください｡
‫では､ どうすればいいのか｡
‫さて､ 木星のもうひとつの美しいところは､ 細胞が2つのシンプルなモードを持っていることです｡
‫一つは編集と呼ばれるもので､ この小さな鉛筆とそれを囲む緑のボックスが目印です｡
‫もうひとつは､ コマンドモードと呼ばれるものです｡
‫さて､ どうやって切り替えるのでしょうか？
‫さて､ お察しの通り､ キーボードを使うこともできます｡
‫このツールバーの使い方に慣れていないことを思い出してください｡
‫なかったことにしたほうがいい｡
‫そこで､ 編集モードからコマンドモードに変更するために､ エスケープキーを押します｡
‫美しい｡
‫ここで､ 小さな緑のバーが青いバーに変わり､ 鉛筆が消えていることに気づきます｡
‫さて､ このセルを実行する前に､ 編集モードに戻るにはどうしたらいいのでしょうか？
‫そのために､ 私はエンターキーを押します｡
‫これで､ 緑の箱が戻り､ 小さな鉛筆が戻ってきました｡
‫素晴らしい｡
‫しかし､ 実際にはコマンドモードにしたいので､ 戻ることにします｡
‫エスケープブルーボックスが復活し､ 鉛筆がなくなりました｡
‫このエスケープ＆エンターの実行は､ ある程度経験を積めば慣れてきますよ｡
‫私は経験上､ 何千ものセルを走らせたので､ これらの方法を知っているだけです｡
‫そして､ 報道されるのです｡
‫Mはマークダウンのこと｡
‫コードに戻すのはYなので､ 考えさせられました｡
‫編集コマンドモードでは､ この小さなボックスを見てください｡
‫すみません｡
‫青いボックスでmを押すとマークダウン､
‫yを押すとコードになりますが､ 今回はマークダウンのmを選択し､ このセルを実行するにはシフトエンターを押します｡
‫これで､ きれいに整形されたテキストになりましたね｡
‫将来的には､ あるプロジェクトについて､ まずここに見出しをつけ､
‫その下にいくつかの情報を追加することも考えられます｡
‫つまり､ このプロジェクトは､ 患者さんが心臓病であるかどうかを分類することなのです｡
‫このように､ 右から左へ､ プロジェクトの最初の段階から､ 自分の仕事を伝えることができるのですね｡
‫さて､ ここで他に何ができるでしょうか？
‫では､ データを見てみましょう｡
‫基調講演に戻ると､ このようなセットアップをしたいと思います｡
‫そこで､ プロジェクトフォルダにあるデータが欲しいのです｡
‫このデータをワークスペースであるJupyter
‫Notebookで実行し､ これらのツールのいくつかを使ってみたいと思います｡
‫では､ ちょっとだけ味見してみましょう｡
‫ここで､ PDとしてpandasをインポートすると､ これがコードになります｡
‫Pythonに､ おい､ python､ pandasをPDのショートカットとしてインポートしてこいよ､
‫と言っているのです｡
‫パンダについては､ 今後の動画でもう少しご紹介します｡
‫私がやっているのは､ Jupyterノートブックでできるさまざまな種類のことを例証することです｡
‫そして､ フォローしている人は､ 必ず自分でこのコードを打ち込んでください｡
‫しかし､ この行を入力してシフトエンターを押すと､ このノートブックにpandasがインポートされることになります｡
‫これで､ ワークスペースであるJupyter
‫Notebook内の環境にインストールしたツールの1つであるpandasを利用することができるようになったわけです｡
‫前回の授業で､ ファイルをアップロードしたのを覚えていますか？
‫これらのファイルはどのように入手するのでしょうか？
‫これはホットな病気なんですね｡
‫CSVです｡
‫どうやって手に入れるのだろう？
‫さて､ CSVという言葉を聞いたことがない方もいらっしゃると思いますが､ カンマ区切り値と呼ばれる形式のことです｡
‫データを保存する方法としては､ 非常に一般的なものです｡
‫でも､ どうやってそれをここに持ち込むと思う？
‫今まで経験したことのないことかもしれないので､ わからなくても大丈夫です｡
‫しかし､ これから行うのは､ pandasを使ってデータフレームを作ることです｡
‫DFはDataFrameの略です｡
‫CSVを読み込むので､ ファイル名を利用します｡
‫さて､ Jupyter Notebooksのもう一つの素晴らしい点は､
‫ここにファイルがある場合､ オートコンプリートにタブを使うことができることです｡
‫つまり､ タブを押すと､ 心臓病がピックアップされるわけです｡
‫CSVで､ すでに他の逆コンマがあるので､ これを選択します｡
‫では､ このコード行は何をしているのでしょうか？
‫まあ､ dataframe equals PDになるんですけどね｡
‫つまり､ pandas dotはcsvを読むのです｡
‫これは関数で､ ファイル名 heart disease dot csv を CSV 読み込み関数に渡しているわけです｡
‫パンダについては､ 後ほど完全版でご紹介しますが｡
‫これは､ Jupyter Notebookの中で何ができるかを例示しているに過ぎません｡
‫そこで､ シフトを押してみると､ その数字が上がっているので､
‫実行されていることがわかります｡ しかし､ どのようにデータを見るのでしょうか？
‫Jupyter Notebooksのもう一つの魅力は､
‫作業中の内容をすぐに確認できることです｡
‫つまり､ DF Headはデータフレームの最初の5行を表示します｡
‫このように､ さまざまなコラムや事例があります｡
‫最初の10枚は､ もっとよく見たいと思ったのかもしれません｡
‫これでよしとしよう｡
‫これについては､ 今後の企画で見ていくことにしましょう｡
‫しかしこれは､ Jupyterノートブックがどのようなデータを表示できるかを示すためのものです｡
‫だから､ ここにセルを入れることもあるかもしれません｡
‫そこで､ 下の新しいセルにBをエスケープしに行く｡
‫Aボタンで上のセルを新規作成することもできますが､ 今回はこのセルを削除します｡
‫だから､ デリートはダブルDで逃げているんです｡
‫美しい｡
‫放してください｡
‫次の表は､ 心臓病を表しています｡
‫患者さんへのご案内です｡
‫エスケープして､ マークダウンシフトエンターのmを押してください｡
‫今､ 私たちはここでコミュニケーションをとっているのです｡
‫さてさて､ テーブルを拝見しました｡
‫もし､ 小さなグラフなどを入れて､
‫この情報が実際にどのようなものかを確認したいとしたらどうでしょうか｡
‫だって､ これってかなり混乱しますよね｡
‫1と0で埋め尽くされたTarget列があります｡
‫この表を見たことがあるので知っているだけですが､
‫1は心臓病で0という意味です｡
‫今のところ､ これには何も表示されないということは､ 心臓病でない人がいるということです｡
‫では､ それを素早くグラフ化して､ 心臓病の患者さんが何人いて､
‫そうでない人が何人いるのかを見てみたいとしたらどうでしょう｡
‫ちなみに､ この列はそれぞれ個々の患者さんです｡
‫そして､ これが彼らのパラメータとなるわけです｡
‫見てみよう｡
‫DFの目標値にアクセスすることを意味するdef dot targetに行くことができます｡
‫この列の異なる値の出現回数を数えるという意味で､
‫値カウントを行います｡
‫それから､ プロットしないこと､ つまり種類のプロットを作ることです｡
‫あ､ コンバーがごっちゃになってる｡
‫つまり､ 棒グラフを作ろうということです｡
‫ちなみにシフトエンターを押したとする｡
‫なぜそれが表示されなかったのか？
‫まあ､ マット､ ぶっちゃけ､ アクセスはあるんですよ｡
‫うーん｡
‫ここで設定した小さな環境に戻ります｡
‫このデータフレームを見るのに､ pandasを使っています｡
‫しかし､ グラフを見るにはマッププロットリブが必要です｡
‫なるほど｡
‫なぜそれがわかるかというと､
‫私も経験があるからですが､ これからそれぞれのツールを深く見ていきます｡
‫では､ ここで何ができるのか？
‫多分､ map, plot lib dot pie plot を plot としてインポートしているのでしょう｡
‫Plotは､ map plot libのショートカットです｡
‫シフトエンターを押すのです｡
‫何も起こらない｡
‫それはなぜでしょうか？
‫さて､ Jupyter､ ノートブックは､ 操作順に実行されることを思い出してください｡
‫つまり､ この下にセルを走らせたからと言って､ この上のセルに影響を与えるとは限らないのです｡
‫だから､ ここに戻ってきて､ このセルを再実行しなければならないのです｡
‫これでよしとしよう｡
‫では､ 24の中の数字､ 25の中の数字､ 25の外の数字を見てみると､ そこで何が起こったかわかるかな？
‫というのも､ 以前このセルを24として実行したところ､ 23になってしまったので､
‫このコードの一部を再実行するまで影響がなかったのです｡
‫つまり､ Jupyter Notebooksでは､
‫操作順に実行されるということが非常に重要なポイントになります｡
‫そして､ もうひとつのポイントは､
‫データを表形式で見るだけでなく､ グラフ形式でも見ることができるようになったということです｡
‫コードセル､ テキストセル､ 画像セルを実行できれば､
‫このノートブックの中でプロジェクト全体を実行できることがおわかりいただけたと思います｡
‫ほら､ もうひとつ｡
‫それも､ 別の画像を取り込むとしたら｡
‫そこで､ このセルをマークダウン・エスケープに変更することにします｡
‫M マークダウンコードを書いたことがない人は感嘆符を使います｡
‫マークダウンコードの書き方についてはオンラインに素晴らしいガイドがありますが､ 基本的にどんなマークダウンコードでも､
‫Jupyterのセルで書くことが可能です｡
‫そこで､ 先ほどアップロードした画像をインポートすることにします｡
‫ドットpngで､ どんな画像でも可能です｡
‫つまり､ このファイルフォルダの中にあるわけです｡
‫ここで朽ち果てていくだけだ｡
‫自分のイメージでできる｡
‫基本的にこれは､ この画像をノートブックにインポートするためのマークダウン・コードです｡
‫シフトを押せば､ エンター｡
‫これでよしとしよう｡
‫これが私たちのフレームワークなんですね｡
‫なるほど｡
‫以前にも同じようなことがありました｡
‫ここで､ これらのステップごとにセクションを作成することが考えられます｡
‫だから､ またマークダウンができるんですね｡
‫エスケープM｡
‫1番の問題定義は､ 心臓病の予知と言えるところです｡
‫ここで小さく打ち込んでいます｡
‫もっと長くやってもいいかもしれませんね｡
‫そして､ スカイプ・ベイビーで5～6個の細胞を作ることができるのです｡
‫のために｡
‫データまでカウントできないんです｡
‫これが､ 今回使用するデータです｡
‫エスケープMを押して､ シフトエンターするんだ｡
‫さて､ これでフレームワークができたと想像できるようになりました｡
‫まず､ 問題定義から始めましょう｡
‫そうすると､ 今回と同じようにデータを見ることができるんです｡
‫これをデータのセクションに移して､ 評価指標を作り､
‫データの特徴を見て､ モデリングをして､ 実験をすることができます｡
‫これらはすべて､ Jupyter Notebookの中で行われます｡
‫さて､ 少し長くなってしまったので､ この講義を終える前にもう一つ､
‫Jupyter Notebookの中でできることがあります｡
‫ここまでの主な2つのポイントは､ コードテキストと画像をすべて同じスペース内で実行できることです｡
‫そして最後に､ Jupyter Notebookの中からターミナルコマンドを実行することも可能です｡
‫例えば､ ターミナル上でLZを実行するのと同じように､ LZを実行したいとします｡
‫だから､ ここに行けば｡
‫そして､ LZに入れました｡
‫私のユーザーアカウントにあるすべてのファイルをリストアップしてくれるんだ｡
‫Jupyter Notebookで同じことをするとしたら､ コードセルでLZを実行してシフトエンターを押しただけです｡
‫おお､ それは面白い｡
‫今まで見たことのないアップデートかもしれませんね｡
‫普通はエクスクラメーションマークを入力するはずです｡
‫LZです｡
‫さて､ これでよしとしましょう｡
‫毎日､ 新しいことを学ぶことができます｡
‫感嘆符は必要ないかもしれませんね｡
‫しかし､ 一般的にLZのようなコマンドをlistのように実行するには､
‫ターミナルコマンドの前にエクスクラメーションマークが必要です｡
‫これはJupiterに入り､
‫このコマンドをpythonのコードのように実行するのではなく､ 感嘆符がついているので､ まるでターミナルでこのように実行しているかのように実行されます｡
‫LZコマンドは､ ここにあるさまざまなファイルを表示しているだけなんです｡
‫よし､ じゃあ､ 今回のレッスンはここまでだ｡
‫ここで､ 壊れたレコードのように聞こえるかもしれませんが､
‫これは重要なことで､ Jupyter Notebookのセルは番号の順に実行されることを忘れないでください｡
‫つまり､ ここでaイコール5を実行した場合､
‫ここまで来てこれを飛ばせば､ aイコール5になるわけです｡
‫でも､ じゃあ､ これを実行したら｡
‫私なら6に等しい｡
‫また､ モックダウンセルやコードセルを実行することもできます｡
‫プロット､ 異なるイメージをすべてノートの中に｡
‫これについては､ 残りのコースを通じて､ 実際にたくさん体験していただきますので､
‫ご期待ください｡